Tam
Původní plakát- 22. července 2016
- 22. července 2016
Pracuji na projektu, který spočívá v kompilaci aplikace pro Windows na Mac. Aplikace je napsána v C++ s Qt. Skládá se z knihoven a hlavního projektu:
http://hpics.li/d8bb2ec
Projekt využívá externí knihovnu ODA ke správě souborů .dwg a .dgn.
Problém je, že když zkompiluji první knihovnu (MdCore), dostanu chybu: symbol(y) nebyl nalezen pro architekturu x86_64.
Nejprve jsem do argumentu qmake přidal -stdlib=libstdc++, ale Qt mi vygenerovalo 0 bajtové soubory, takže to nebylo řešení.
Zkoušel jsem různé verze knihovny ODA: 32bit, 64bit pro OSX 10.7 a 10.11. (Můj Mac je na OSX 10.11)
Udělal jsem příkaz 'file' ve svých knihovnách a zde výstup:
:
.a: aktuální ar archiv náhodná knihovna
.dylib:
Univerzální binární soubor Mach-0 se 2 architekturami
(pro architekturu x68_64): Mach-0 64bitová dynamicky propojená sdílená knihovna x86_64
(pro architekturu i386): Mach-0 dynamicky propojená sdílená knihovna i386
Zkoušel jsem kompilovat na 32 a 64bit, ale nic to nemění. Trpím tímto problémem dva týdny a nevím, co mohu dělat
Založil jsem téma na fóru Qt, možná najdete více informací:
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
Pokud má někdo tip nebo řešení, budu mít zájem
Dík ! C
cqexbesd
- 4. června 2009
- Německo
- 22. července 2016
Tam
Původní plakát- 22. července 2016
- 22. července 2016
17:34:10: Začátek: '/Users/developpement/Qt/5.7/clang_64/bin/qmake' /Users/developpement/Desktop/Mediacad2/MdCore/MdCore.pro -r -spec macx-clang CONFIG+=debug CONFIG+=debug x86_64 CONFIG+=qml_debug
17:34:10: Proces '/Users/developpement/Qt/5.7/clang_64/bin/qmake' skončil normálně
17:34:10: Začátek: '/usr/bin/make'
... C
cqexbesd
- 4. června 2009
- Německo
- 24. července 2016
Tam
Původní plakát- 22. července 2016
- 25. července 2016
Kód: |_+_|
ve výstupu kompilace mám tyto řádky několikrát, ale změní se pouze poslední řádek (změní se název souboru)
Edit: zde jsou stejné řádky, ale s mezerami mezi nimi
Kód: |_+_| Naposledy upraveno moderátorem: 25. července 2016 C
cqexbesd
- 4. června 2009
- Německo
- 25. července 2016
Tam
Původní plakát- 22. července 2016
- 26. července 2016
Zde je úplný výstup (je velmi dlouhý! 100 000 řádků): http://textup.fr/171939hC
Edit: Zkompiloval jsem s výzvou, takže mám na výstupu více řádků a poslední řádky jsou zajímavé:
Nedefinované symboly pro architekturu x86_64:
Kód: |_+_| Naposledy upraveno moderátorem: 26. července 2016 C
cqexbesd
- 4. června 2009
- Německo
- 26. července 2016
Zpět k vašemu konkrétnímu problému. Nevidím chyby propojení, které jste zveřejnili v „úplném výstupu“, ale vypadá to, že jde jen o běžné chyby linkeru. Stejně jako na jiných platformách můžete pomocí nm (nebo Google) najít, kde jsou tyto symboly definovány, a zdá se, že je to v /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation pro mě (ale mám velmi starý mac, takže to pro vás nemusí být pravda).
Neodkázali byste přímo na tuto knihovnu. Zkuste přidat kód: |_+_| k vašim příznakům linkeru.
Tam
Původní plakát- 22. července 2016
- 27. července 2016
zibby
- 5. února 2019
- 5. února 2019
cqexbesd řekl: Myslím, že výstup 100 000 pro sestavení z čehokoli kromě nejkomplikovanějšího systému je pravděpodobně známkou toho, že se někde něco pokazilo – ale to je obecnější komentář o stavu tohoto odvětví.S
Zpět k vašemu konkrétnímu problému. Nevidím chyby propojení, které jste zveřejnili v „úplném výstupu“, ale vypadá to, že jde jen o běžné chyby linkeru. Stejně jako na jiných platformách můžete pomocí nm (nebo Google) najít, kde jsou tyto symboly definovány, a zdá se, že je to v /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation pro mě (ale mám velmi starý mac, takže to pro vás nemusí být pravda).
Neodkázali byste přímo na tuto knihovnu. Zkuste přidat kód: |_+_| k vašim příznakům linkeru.
zibby
- 5. února 2019
- 5. února 2019
Mám připravený soubor ./configure a běží hladce, ale dostanu ffi... související 'symbols not found...' a něco, co je potřeba udělat s linkerem, když spustím make
okieiam
- 17. prosince 2016
- 8. února 2019
zibbi řekl: ahoj kluci ... narazil jsem na velmi podobný problém ... ale ke kompilaci používám terminál ... může mi někdo prosím pomoci, jak mohu udělat stejné řešení v případě terminálu?env CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure
Mám připravený soubor ./configure a běží hladce, ale dostanu ffi... související 'symbols not found...' a něco, co je potřeba udělat s linkerem, když spustím make
Populární Příspěvky