Allí
Poster original- Jul 22, 2016
- Jul 22, 2016
Estoy trabajando en un proyecto que consiste en compilar una aplicación de Windows en Mac. La aplicación está escrita en C ++ con Qt. Está compuesto por bibliotecas y el proyecto principal:
http://hpics.li/d8bb2ec
El proyecto utiliza una biblioteca externa, ODA, para administrar archivos .dwg y .dgn.
El problema es que cuando compilo la primera biblioteca (MdCore), aparece un error: símbolo (s) no encontrado para la arquitectura x86_64.
Al principio agregué -stdlib = libstdc ++ al argumento qmake pero Qt me generó archivos de 0 bytes, por lo que no fue la solución.
Probé una versión diferente de la biblioteca ODA: 32 bits, 64 bits para OSX 10.7 y 10.11. (Mi Mac está en OSX 10.11)
Hice el comando 'archivo' en mis bibliotecas y aquí el resultado:
:
.a: biblioteca aleatoria del archivo ar actual
.dylib:
Binario universal Mach-0 con 2 arquitecturas
(para la arquitectura x68_64): biblioteca compartida x86_64 vinculada dinámicamente Mach-0 de 64 bits
(para la arquitectura i386): biblioteca compartida i386 enlazada dinámicamente Mach-0
He intentado compilar en 32 y 64 bits pero no cambia nada. Estoy en este problema durante dos semanas, no sé qué puedo hacer.
He creado un tema en el foro de Qt, tal vez puedas encontrar más información:
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
Si alguien tiene una pista o una solución me interesará
Gracias ! C
cqexbesd
- 4 de junio de 2009
- Alemania
- Jul 22, 2016
Allí
Poster original- Jul 22, 2016
- Jul 22, 2016
17:34:10: Inicio: '/Users/developpement/Qt/5.7/clang_64/bin/qmake' /Users/developpement/Desktop/Mediacad2/MdCore/MdCore.pro -r -spec macx-clang CONFIG + = depurar CONFIG + = x86_64 CONFIG + = qml_debug
17:34:10: El proceso '/Users/developpement/Qt/5.7/clang_64/bin/qmake' ha finalizado normalmente
17:34:10: comienzo: '/ usr / bin / make'
... C
cqexbesd
- 4 de junio de 2009
- Alemania
- Jul 24, 2016
Allí
Poster original- Jul 22, 2016
- Jul 25, 2016
Código:
Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DMDCORE_LIBRARY -D_TOOLKIT_IN_DLL_ -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../MdCore -I. -I../../include -I../../include/teigha -I../../include/Extensions/ExServices -I../../include/Extensions/win -I../../include/Extensions/win/Crypt -I../../../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/developpement/Qt/5.7/clang_64/lib -o mduserio.o ../../MdCore/mduserio.cpp
en mi salida de compilación tengo esas líneas varias veces, pero solo cambia la última línea (el nombre del archivo cambia)
Editar: aquí están las mismas líneas pero con espacios entre ellas
Código:
Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DMDCORE_LIBRARY -D_TOOLKIT_IN_DLL_ -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../MdCore -I. -I../../include -I../../include/teigha -I../../include/Extensions/ExServices -I../../include/Extensions/win -I../../include/Extensions/win/Crypt -I../../../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/developpement/Qt/5.7/clang_64/lib -o mduserio.o ../../MdCore/mduserio.cpp
Última edición por un moderador: 25 de julio de 2016 C cqexbesd
- 4 de junio de 2009
- Alemania
- Jul 25, 2016
Allí
Poster original- Jul 22, 2016
- Jul 26, 2016
Aquí está la salida completa (¡es muy, muy larga! 100.000 líneas): http://textup.fr/171939hC
Editar: compilé con el indicador, así que tengo más líneas en la salida, y las últimas líneas son interesantes:
Símbolos indefinidos para la arquitectura x86_64:
Código:
'_CFArrayGetCount', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFArrayGetValueAtIndex', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFLocaleCopyPreferredLanguages', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFStringGetCharacterAtIndex', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFStringGetLength', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [../debug/libMdCore.1.0.0.dylib] Error 1
Última edición por un moderador: 26 de julio de 2016 C cqexbesd
- 4 de junio de 2009
- Alemania
- Jul 26, 2016
Volvamos a su problema específico. No veo los errores de vinculación que publicó en el 'resultado completo', sin embargo, esto parece ser un error de vinculación regular. Al igual que en otras plataformas, puede usar nm (o Google) para encontrar dónde se definen esos símbolos y parece estar en /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation para mí (pero tengo una muy Mac antiguo, por lo que puede que no sea cierto para ti).
No vincularías directamente a esa biblioteca. Intente agregar Código:
-framework CoreFoundation
a sus banderas del enlazador. Allí
Poster original- Jul 22, 2016
- Jul 27, 2016
zibby
- Mar 5, 2019
- Mar 5, 2019
cqexbesd dijo: Creo que la salida de 100K para una compilación de cualquier cosa que no sea el sistema más complicado es probablemente una señal de que las cosas han salido mal en alguna parte, pero ese es un comentario más general sobre el estado de la industria.CON
Volvamos a su problema específico. No veo los errores de vinculación que publicó en el 'resultado completo', sin embargo, esto parece ser un error de vinculación regular. Al igual que en otras plataformas, puede usar nm (o Google) para encontrar dónde se definen esos símbolos y parece estar en /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation para mí (pero tengo una muy Mac antiguo, por lo que puede que no sea cierto para ti).
No vincularías directamente a esa biblioteca. Intente agregar Código:-framework CoreFoundation
a sus banderas del enlazador.
zibby
- Mar 5, 2019
- Mar 5, 2019
tengo un archivo ./configure listo y se ejecuta sin problemas, pero obtengo ffi ... relacionados con 'símbolos no encontrados ...' y algo que ver con el vinculador cuando ejecuto make
okieiam
- 17 de diciembre de 2016
- Mar 8, 2019
zibbi dijo: hola chicos ... me encontré con un problema muy similar ... pero estoy usando la terminal para compilar ... ¿alguien puede ayudarme sobre cómo puedo hacer la misma solución en el caso de la terminal?env CPPFLAGS = '- I / home / foo / sw / include' LDFLAGS = '- L / home / foo / sw / lib /' ./configure
tengo un archivo ./configure listo y se ejecuta sin problemas, pero obtengo ffi ... relacionados con 'símbolos no encontrados ...' y algo que ver con el vinculador cuando ejecuto make
Entradas Populares