.[ ČeskéHry.cz ].
C++ GCC (LLVM)

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 20. duben 2017, 19:20:06    Předmět: C++ GCC (LLVM) Odpovědět s citátem

Mám napsaný projekt v C++. Ve Visual Studio 2015 se vše přeloží OK, nicméně v XCode s LLVM nebo v GCC to napíše chyby a nejsem schopný je odstranit

Výpis gcc chyb: https://pastebin.com/pTnMtQxH (je jich hromada)


Plný zdroják projektu: https://github.com/MartinPerry/LuaWrapperCpp/tree/master/LUA/LUA


Díky
_________________
Perry.cz


Naposledy upravil perry dne 21. duben 2017, 19:42:02, celkově upraveno 2 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Radis



Založen: 29. 03. 2014
Příspěvky: 235

PříspěvekZaslal: 20. duben 2017, 22:31:03    Předmět: Odpovědět s citátem

EDIT: perry, mozna by bylo dobre needitovat otazku pote, co ti lidi odpovedeli, protoze pak ty odpovedi reaguji na neco uplne jineho a nedavaji uplne smysl, ze jo...

Naposledy upravil Radis dne 22. duben 2017, 05:10:25, celkově upraveno 3 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 765
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 21. duben 2017, 13:37:44    Předmět: Odpovědět s citátem

Zkousel jsi
1. Napsat tam explicitni/plny namespace (::LuaCallbacks::garbage_collect<T>, resp. ::perryho_kod::LuaCallbacks::garbage_collect<T>)?
2. Pouzit & pro ziskani pointeru na funkci (&LuaCallbacks::garbage_collect<T>)?
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Radis



Založen: 29. 03. 2014
Příspěvky: 235

PříspěvekZaslal: 21. duben 2017, 14:41:54    Předmět: Odpovědět s citátem

Je to static funkce, takze & neni podle me potreba.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 21. duben 2017, 19:39:45    Předmět: Odpovědět s citátem

Zkoušel jsem... nepomůže..
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 21. duben 2017, 20:29:18    Předmět: Odpovědět s citátem

Niektore errory su kvoly tomu ze std::integer_sequence je az od C++14
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 21. duben 2017, 20:35:15    Předmět: Odpovědět s citátem

Máš bordel v includech (cross-dependence), jak už psal Radis.

Problém je ten, že microsoftí compiler dělá sém. analýzu vnitřku templates až v momentě, kdy je použiješ. Hádám, že to je kvůli zrychlení překladu.

Nicméně gcc a clang ji dělají hned.

Takže např. LuaWrapper potřebuje LuaCallbacks, ale jak se to includuje a je tam include guard, tak ho v ten moment nezná.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 21. duben 2017, 21:01:17    Předmět: Odpovědět s citátem

nou > jo, jasně díky.. přepnul jsem to na gcc++14 a tuto zmizelo

mar > Jde nějak poznat co je závislé na čem? Resp. nějaký strom toho, co kde includuje msvc a co by se mělo includovat?
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 21. duben 2017, 21:09:34    Předmět: Odpovědět s citátem

můžeš si to prohnat preprocesorem (parametr -E myslím), includuje se to ve stejném pořadí jako v ostatních překladačích,
ale problém je jak jsem psal že sém. analýzu templát dělají gcc a clang hned, takže ses stal obětí téhle "vychytávky" msc, že ti to sežral.

ono sice po bitvě je každý generál, ale když chceš psát cross-platform kód, tak je dobré občas během vývoje to zkusit přeložit jiným překladačem (vs2017 má myslím experimentální podporu pro clang jako frontend), obzvlášť když to máš plné templát

co je závislé na čem bys měl vědět asi ty, když je to tvůj kód Smile
co jsem koukal tak asi všechno na všem

každopádně tě čeká asi spousta přesouvání,
templatové funkce můžeš forward deklarovat, pak naincludovat wrapper a script a až pak ty těla implementovat.

další problém je, že saháš na wrapper uvnitř getTuple a dalších věcí, takže to asi budeš muset přesunout k wrapperu apod.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 21. duben 2017, 22:39:47    Předmět: Odpovědět s citátem

myslím, že se mi to podařilo opravit a pod gcc mi to už jde přeložit. poslal jsem ti PM s linkem
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna