在macos上编译代码的未解析符号
unresolved symbols compiling code on mac os
Mac OS SierraApple LLVM版本8.0.0(clang-800.0.42.1)gcc版本c++-9(Homebrew gcc 9.2.0_2)9.2.0
我正在尝试编译一个测试程序,该程序使用https://github.com/binance-exchange/binacpp它使用微软的jsoncpphttps://github.com/open-source-parsers/jsoncpp以及openssl、curl、websockets、json库我遇到了一个链接问题,似乎我认为没有一个符号得到解决。无法计算为什么?可能是由于丑陋的设置。。。
丑陋的设置:-微软(jsoncpp)使用了llvm/clang不支持的一些技术因此,它建议使用gcc和微软的packetmanager vcpkg。使用gcc将源代码编译成一个静态库libjsoncpp.a,我复制到我的测试程序目录中。-使用gcc-c将binacpp源代码编译到对象文件中,并使用arrcs-libbinacpp*.o创建另一个静态库-包括openssl的include和lib目录,由于某些原因,在通常的目录中找不到,als以及libjsoncpp的头文件直接
整个命令:
/usr/local/opt/gcc/bin/c++-9 test.cpp libbinacpp.a libjsoncpp.a
-I/Users/N/Downloads/vcpkg/packages/jsoncpp_x64-osx/include
-I/usr/local/Cellar/openssl@1.1/1.1.1d/include
-L/usr/local/Cellar /openssl@1.1/1.1.1d/lib -lwebsockets -ljson -lcurl -lssl
整件事让我犯了很多错误。不知道出了什么问题。。。感谢您的帮助。
谨致问候。
错误(小部分):
体系结构x86_64的未定义符号:-"_EVP_sha256",引用自:-libbinacpp.a(binacpp_utils.o)中的hmac_sha256[abi:cx11](char const*,char const*)-"_HMAC",引用自:-libbinacpp.a(binacpp_utils.o)中的hmac_sha256[abi:cx11](char const*,char const*)-"_SHA256_Final",引用自:-libbinacpp.a(binacpp_utils.o)中的sha256[abi:cx11](char const*)-"_SHA256_Init",引用自:-libbinacpp.a(binacpp_utils.o)中的sha256[abi:cx11](char const*)-"_SHA256_更新",引用自:-libbinacpp.a(binacpp_utils.o)中的sha256[abi:cx11](char const*)-"Json::Reader::parse(std::__cxx11::basic_string,-std::allocater>const&,Json:;Value&,bool)",引用自:-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_exchangeInfo(Json::Value&)-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_serverTime(Json::Value&)-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_allPrices(Json::Value&)-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_allBookTickers(Json::Value&)-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_depth(char const*,int,Json::Value&)-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_aggTrades(char const*,int,long,long、int,Json::Value&)-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_24hr(char const*,Json::Value&)-。。。-"Json::运算符<<(std::basic_stream>&,Json:;Value const&)",-引用自:-_以ccsPSRMm.o表示-"Json::Value::asStringabi:cx11 const",引用自:-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_price(char const*)-libbinacpp.a(BinaCPP.o)中的BinaCPP::get_bookTicker(char const*,Json::Value&)-"std::__1::basic_string,std::___1::分配器
更多的错误。。。。
ld:找不到体系结构x86_64集合的符号2:错误:ld返回1退出状态
你似乎只是忘记了在项目中包括你的库,请参考这个问题,如果你使用的是Xcode,图片中提到了如何做到这一点。
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- C ++如何使用UTF8十六进制代码打印UTF8符号?
- 我收到错误LNK2001:未解析的外部符号(C++代码)
- Clang 给了我符号更改的警告,但代码仍然产生正确的输出
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 在macos上编译代码的未解析符号
- 引入参数化构造函数后显示 LNK 2019 未解析外部符号的代码错误
- 使用 googletest 测试嵌入式C++代码时处理外设寄存器的重复符号
- 在Visual Studio代码中定义DEBUG和RELEASE符号
- 有没有一种预处理器的方法可以从调试符号中删除代码段
- 代码输出随机符号,我不确定出了什么问题
- 我正在为学校开发一个小班模板实验室,我的代码无法编译,它给了我一个未解析的外部符号
- C++ XCODE ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -
- C MACOS-编程检索代码符号证书信息
- 带有分段符号的遗留过程 C/C++ 代码 (§)
- 在另一台计算机中运行 GTKMM 代码时未定义的符号
- 在 Mac 上C++编译代码时处理“dyld:惰性符号绑定失败:找不到符号”错误
- OpenGL符号突出显示visual studio Mac代码中的错误
- 在这段 python 代码中,大于符号是什么意思
- C++编译错误:ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v