更新Mac 10.9.2后,之前的Qt程序运行出现以下错误:
Undefined symbols for architecture x86_64:
"___sincos_stret", referenced from:
...
"___sincos_stret", referenced from:
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [trimeshview.app/Contents/MacOS/trimeshview] Error 1
14:30:06: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project trianglemesh (kit: Desktop Qt 5.2.1 clang 64bit)
When executing step 'Make'
14:30:06: Elapsed time: 00:16.
原因是编译器和sdk版本不匹配,需要在项目中添加:
macx:QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
macx:QMAKE_MAC_SDK=macosx10.9
注:如果Qt出现编译问题,可直接查看生成的makefile文件获取错误信息,本次错误状态下,makefile文件如下:
Release:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.

升级到Mac 10.9.2后,使用Qt5.2.1的程序遇到运行时错误,表现为Undefined symbols for architecture x86_64。为了解决这个问题,需要检查和分析项目的makefile文件以获取编译错误的具体信息,并据此进行相应修复。
最低0.47元/天 解锁文章
7478

被折叠的 条评论
为什么被折叠?



