在我的iPhone项目中集成Zxing,QR码阅读器框架.我从这里检查了ZXing sdk .我运行了ZXing的示例项目,名为ScanTest,没有任何问题.但是当我尝试将库与我的项目集成时,我收到了提到的错误.
当我构建时,在完成ZXing自述文件中的每个集成步骤后,我都会遇到构建错误
Undefined symbols for architecture armv7:
"std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
zxing::qrcode::Detector::computeDimension(zxing::Ref<zxing::ResultPoint>, zxing::Ref<zxing::ResultPoint>, zxing::Ref<zxing::ResultPoint>, float) in libZXingWidget.a(Detector-B8B28E953F840D47.o)
Undefined symbols for architecture armv7:
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
zxing::Exception::Exception(char const*) in libZXingWidget.a(Exception.o)
zxing::common::StringUtils::guessEncoding(unsigned char*, int, std::map<unsigned int, std::string, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::string> …Run Code Online (Sandbox Code Playgroud) 在IOS 64位项目中,我看到了大量的问题,如Apple Mach-O Linker(Id)错误和cryptopp中的未定义符号.问题通常描述为:
Undefined symbols for architecture i386:
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
cv::gpu::error(char const*, char const*, int, char const*) in opencv2(gpumat.o)
Run Code Online (Sandbox Code Playgroud)
问题通常会减少到混合/匹配-stdlib=libc++(LLVM C++运行时)和-stdlib=libstdc++(GNU C++运行时).LLVM的C++运行时(libc++)具有__1装饰符号,但GNU C++运行时libstdc++ 缺少的__1在其名称符号.它会导致符号显示具有相同名称的链接器问题(如std::string).
__1使用LLVM的libc ++时,符号来自何处?
为什么这个问题不是一个解决gnu命名和llvm命名空间?
这是一个相关的问题:libc ++ - 停止std重命名为std :: __ 1?.但它有点忽略了重命名不会发生的重点.
在现有iOS项目上升级openCV版本后,我遇到以下问题.我试过玩编译器版本和其他一些设置,但我还没有找到解决方案.
谢谢.
Ld /Users/_____/Library/Developer/Xcode/DerivedData/_____-czzcfkvvtejzzacaookbbwcmfsdh/Build/Products/Debug-iphoneos/_____.app/_____ normal armv7
cd /Users/________/Desktop/________NewOpenCV
setenv IPHONEOS_DEPLOYMENT_TARGET 5.0
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/_____/Library/Developer/Xcode/DerivedData/________-czzcfkvvtejzzacaookbbwcmfsdh/Build/Products/Debug-iphoneos -L/Users/________/Desktop/________NewOpenCV/../../Downloads/opencv2.framework/Versions/A -F/Users/________/Library/Developer/Xcode/DerivedData/________-czzcfkvvtejzzacaookbbwcmfsdh/Build/Products/Debug-iphoneos -F/Users/________/Desktop/________NewOpenCV -F/Users/________/Desktop/________NewOpenCV/../../Downloads/aptogo-OpenCVForiPhone-cb262eb -F/Users/________/Desktop/________NewOpenCV/../../Downloads -filelist /Users/________/Library/Developer/Xcode/DerivedData/________-czzcfkvvtejzzacaookbbwcmfsdh/Build/Intermediates/________.build/Debug-iphoneos/________.build/Objects-normal/armv7/________.LinkFileList -dead_strip -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=5.0 /Users/________/Desktop/________NewOpenCV/../../Downloads/opencv2.framework/Versions/A/opencv2 -framework CoreMotion -framework AudioToolbox -framework CoreLocation -lz.1.2.5 -framework ExternalAccessory -framework CFNetwork -framework SystemConfiguration -framework MobileCoreServices -framework AVFoundation -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/________/Library/Developer/Xcode/DerivedData/________-czzcfkvvtejzzacaookbbwcmfsdh/Build/Products/Debug-iphoneos/________.app/________
Undefined symbols for architecture armv7:
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
cv::Exception::Exception(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, …Run Code Online (Sandbox Code Playgroud) Xcode 4.5中"C++标准库"和"C++语言方言"的"编译器默认值"的值是多少?
我的猜测是libstdc ++和GNU ++ 98,但澄清一下会很好.
使用此Xcode版本创建的项目使用标准C++库的新libc ++实现.libc ++库仅在iOS 5.0及更高版本和OS X 10.7及更高版本上可用.12221787
要在项目的早期版本的iOS和OS X上启用部署,请将C++标准库构建设置设置为libstdc ++(Gnu C++标准库).
我注意到创建一个新项目显式设置了GNU ++ 11和libc ++,但"Compiler Default"可能是其他东西.