抛泪小白求不相助Undefined symbols for architecture arm64:

weixin_37138637 2016-12-22 05:17:11
Ld /Users/gao/Library/Developer/Xcode/DerivedData/C++混编2-eplajwdytrjslnaeupjbnrxlvser/Build/Products/Debug-iphoneos/C++混编2.app/C++混编2 normal arm64
cd /Users/gao/Desktop/C++混编2
export IPHONEOS_DEPLOYMENT_TARGET=10.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.1.sdk -L/Users/gao/Library/Developer/Xcode/DerivedData/C++混编2-eplajwdytrjslnaeupjbnrxlvser/Build/Products/Debug-iphoneos -L/Users/gao/Desktop/C++混编2/C++混编2 -F/Users/gao/Library/Developer/Xcode/DerivedData/C++混编2-eplajwdytrjslnaeupjbnrxlvser/Build/Products/Debug-iphoneos -filelist /Users/gao/Library/Developer/Xcode/DerivedData/C++混编2-eplajwdytrjslnaeupjbnrxlvser/Build/Intermediates/C++混编2.build/Debug-iphoneos/C++混编2.build/Objects-normal/arm64/C++混编2.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -miphoneos-version-min=10.1 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/gao/Library/Developer/Xcode/DerivedData/C++混编2-eplajwdytrjslnaeupjbnrxlvser/Build/Intermediates/C++混编2.build/Debug-iphoneos/C++混编2.build/Objects-normal/arm64/C++混编2_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fembed-bitcode-marker -fobjc-arc -fobjc-link-runtime -stdlib=libc++ -ObjC -lstdc++.6.0.9 -lstdc++.6 -lstdc++ -framework Foundation -ldlib -Xlinker -dependency_info -Xlinker /Users/gao/Library/Developer/Xcode/DerivedData/C++混编2-eplajwdytrjslnaeupjbnrxlvser/Build/Intermediates/C++混编2.build/Debug-iphoneos/C++混编2.build/Objects-normal/arm64/C++混编2_dependency_info.dat -o /Users/gao/Library/Developer/Xcode/DerivedData/C++混编2-eplajwdytrjslnaeupjbnrxlvser/Build/Products/Debug-iphoneos/C++混编2.app/C++混编2

Undefined symbols for architecture arm64:
"_dgesvd_", referenced from:
int dlib::lapack::gesvd<double, 0l, 0l, 0l, 0l, 0l, 0l, 0l, 0l, dlib::memory_manager_stateless_kernel_1<char> >(char, char, dlib::matrix<double, 0l, 0l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>&, dlib::matrix<double, 0l, 0l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>&, dlib::matrix<double, 0l, 0l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>&, dlib::matrix<double, 0l, 0l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>&) in libdlib.a(FaceDetector-E105EEB31F2E4AA7.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)






上面是代码报的错误最主要的就是Undefined symbols for architecture arm64:Undefined symbols for architecture arm64:Undefined symbols for architecture arm64:Undefined symbols for architecture arm64:Undefined symbols for architecture arm64:Undefined symbols for architecture arm64:Undefined symbols for architecture arm64:
就是Undefined symbols for architecture arm64,所有方法都试过了代码是用c++和oc混编的,是放了一个.a静态库文件
...全文
1415 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
virtualxmars 2016-12-26
  • 打赏
  • 举报
回复 1
这通常是应为你的符号‘_dgesvd_’所在的库没有为arm64架构生成指令导致的。产生的过程很可能是这样的: 1. 你引入了NetLib库,作为一个独立项目进行管理,然后选中了运行目标为模拟器,然后执行了编译 2. 然后你写好了自己的项目代码,选中了真机‘例如:我的iPhone’,然后编译并运行 然后就出问题了,也因为默认情况下,XCode为Debug配置的编译只会生成当前选中的目标设备所需要的代码,以节省编译时间。所以,解决方法有两个: 1. 重新选中真机,然后编译你的NetLib库 2. 在BuildSettings中,选中Build Active Architectures->Debug->NO,然后重新编译一次你的NetLib库。这样无论是否需要,都会生成全指令集的lib库。 如果,你的NetLib库是用脚本进行编译的,则需要找到该编译脚本,然后修改里面的选项,让它产生arm64(最好再加上armv7)的指令集。

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧