【发布时间】:2015-04-03 09:49:22
【问题描述】:
我尝试使用github's prebuilt cryptopp 进行构建,但它也不起作用。它会出现如下错误:
架构 arm64 的未定义符号: “CryptoPP::BufferedTransformation::ChannelFlush(std::string const&, bool, int, bool)”,引用自:
vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long long, std::string const&, bool) const”,引用自:
vtable for CryptoPP::Base64Decoder in MYCLASSBBB.o vtable for CryptoPP::Unflushable<CryptoPP::Filter> in MYCLASSBBB.o vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::string const&, bool)”,引用自:
vtable for CryptoPP::Base64Decoder in MYCLASSBBB.o vtable for CryptoPP::Unflushable<CryptoPP::Filter> in MYCLASSBBB.o vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::BufferedTransformation::ChannelPut2(std::string const&, unsigned char const*, unsigned long, int, bool)”,引用自:
vtable for CryptoPP::Base64Decoder in MYCLASSBBB.o vtable for CryptoPP::Unflushable<CryptoPP::Filter> in MYCLASSBBB.o vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::BufferedTransformation::ChannelCreatePutSpace(std::string const&, unsigned long&)”,引用自:
vtable for CryptoPP::Base64Decoder in MYCLASSBBB.o vtable for CryptoPP::Unflushable<CryptoPP::Filter> in MYCLASSBBB.o vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::BufferedTransformation::ChannelPutModifiable2(std::string const&, unsigned char*, unsigned long, int, bool)”,引用自:
vtable for CryptoPP::Base64Decoder in MYCLASSBBB.o vtable for CryptoPP::Unflushable<CryptoPP::Filter> in MYCLASSBBB.o vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd(std::string const&, int, bool)”,引用自:
vtable for CryptoPP::Base64Decoder in MYCLASSBBB.o vtable for CryptoPP::Unflushable<CryptoPP::Filter> in MYCLASSBBB.o vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::BufferedTransformation::SetRetrievalChannel(std::string const&)”,引用自:
vtable for CryptoPP::Base64Decoder in MYCLASSBBB.o vtable for CryptoPP::Unflushable<CryptoPP::Filter> in MYCLASSBBB.o vtable for CryptoPP::SimpleProxyFilter in MYCLASSBBB.o vtable for CryptoPP::Bufferless<CryptoPP::Filter> in MYCLASSBBB.o“CryptoPP::StringSinkTemplate::StringSinkTemplate(std::string&)”,引用自:
encryptString(std::string const&) in MYCLASSBBB.o decryptString(std::string const&, int) in MYCLASSBBB.o MYCLASSAAA::setDeviceId() in MYCLASSAAA.o MYCLASSAAA::getSignature() in MYCLASSAAA.old:未找到架构 arm64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
MYCLASSAAA 和 MYCLASSBBB 都是使用 cryptopp 库的类。 它使用 cryptlib.h、modes.h、filters.h、aes.h、base64.h、md5.h、hex.h。
我什至尝试自己构建库,但发生了同样的错误。我该怎么办?
我希望你的帮助。谢谢。
添加 xcode cmd
Ld /Users/USERNAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-aknkujyaqvqjswbhspmawywtyqee/Build/Products/Release-iphoneos/PROJECT_NAME.app/PROJECT_NAME 正常 arm64 cd /用户/用户名/桌面/开发/Office_Projects/PROJECTROOT/root 导出 IPHONEOS_DEPLOYMENT_TARGET=5.1.1 导出 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 arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8。 1.sdk -L/Users/USERNAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-aknkujyaqvqjswbhspmawywtyqee/Build/Products/Release-iphoneos -L/Users/USERNAME/Desktop/Development/Office_Projects/PROJECTROOT/root/PROJECT_NAME/libs/ cocos2dx/platform/third_party/ios/libraries -L/Users/USERNAME/Desktop/Development/Office_Projects/PROJECTROOT/root/PROJECT_NAME/libs/EEAF-SDK7.0(i386,armv7,armv7s,arm64) -L/Users/USERNAME /Desktop/Development/Office_Projects/PROJECTROOT/root/PROJECT_NAME/libs/boost_1_57/ios -L/Users/USERNAME/Desktop/Development/Office_Projects/PROJECTROOT/root/PROJECT_NAME/Classes/cryptopp/lib -LPROJECT_NAME/cocos2dx/platform/third_party /ios/libraries -LPROJECT_NAME/EEAF-SDK7.0(i386,armv7,armv7s,arm64) -F/Users/USERNAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-aknkujy aqvqjswbhspmawywtyqee/Build/Products/Release-iphoneos -F/Users/USERNAME/Desktop/Development/Office_Projects/PROJECTROOT/root/PROJECT_NAME/libs -filelist /Users/USERNAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-aknkujyaqvqjswbhspmawywtyqee/Build/中间体/PROJECT_NAME.build/Release-iphoneos/PROJECT_NAME.build/Objects-normal/arm64/PROJECT_NAME.LinkFileList -dead_strip -lxml2 -lz -ObjC -lcryptopp -fobjc-link-runtime -miphoneos-version-min=5.1.1 - lc++ /Users/USERNAME/Desktop/Development/Office_Projects/PROJECTROOT/root/PROJECT_NAME/libs/boost_1_57/ios/boost.a -framework UIKit -framework CoreTelephony -lEEAF -framework FacebookSDK -framework AddressBook -framework AddressBookUI -framework AudioToolbox -framework AVFoundation -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework CoreMedia -framework CoreText -framework Foundation -framework ImageIO -framework MediaPlayer -framework MobileCoreServices -framework OpenAL -framework OpenGLES -framework Quart zCore -framework Security -framework SystemConfiguration -lsqlite3.0 -framework StoreKit -lcurl -Xlinker -dependency_info -Xlinker /Users/USERNAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-aknkujyaqvqjswbhspmawywtyqee/Build/Intermediates/PROJECT_NAME.build/Release-iphoneos /PROJECT_NAME.build/Objects-normal/arm64/PROJECT_NAME_dependency_info.dat -o /Users/USERNAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-aknkujyaqvqjswbhspmawywtyqee/Build/Products/Release-iphoneos/PROJECT_NAME.app/PROJECT_NAME
和“CRYPTOPP::~.o 的 vtable”总是会发生。附上通知:
注意:缺少 vtable 通常意味着第一个非内联虚拟成员函数没有定义。
【问题讨论】:
-
“我什至尝试自己构建库” - 而您如何做到了?搜索您的标题文本 逐字 导致了几个潜在原因,其中一个显示为 some promise。
-
@Jaguar 什么是 Build setting > 在 Architectures 下??
标签: c++ ios xcode cocos2d-x crypto++