簡體   English   中英

架構x86_64 jsonrpc庫的未定義符號

[英]Undefined symbols for architecture x86_64 jsonrpc library

我有一些使用jsonRpc庫編譯QT應用程序的困難:
- libjson-rpc-cpp
- jsoncpp
編譯時,我有這個錯誤:

Undefined symbols for architecture x86_64:
Json::Value::operator=(Json::Value const&)", referenced from:
  jsonrpc::RpcProtocolServerV1::WrapException(Json::Value const&, jsonrpc::JsonRpcException const&, Json::Value&) in libjson-rpc-cpp.a(rpcprotocolserverv1.o)
  jsonrpc::RpcProtocolServerV1::WrapResult(Json::Value const&, Json::Value&, Json::Value&) in libjson-rpc-cpp.a(rpcprotocolserverv1.o)
  jsonrpc::RpcProtocolServerV1::WrapError(Json::Value const&, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Json::Value&) in libjson-rpc-cpp.a(rpcprotocolserverv1.o)
  jsonrpc::RpcProtocolServerV2::WrapException(Json::Value const&, jsonrpc::JsonRpcException const&, Json::Value&) in libjson-rpc-cpp.a(rpcprotocolserverv2.o)
  jsonrpc::RpcProtocolServerV2::WrapResult(Json::Value const&, Json::Value&, Json::Value&) in libjson-rpc-cpp.a(rpcprotocolserverv2.o)
  jsonrpc::RpcProtocolServerV2::WrapError(Json::Value const&, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, Json::Value&) in libjson-rpc-cpp.a(rpcprotocolserverv2.o)
  jsonrpc::AbstractProtocolHandler::ProcessRequest(Json::Value const&, Json::Value&) in libjson-rpc-cpp.a(abstractprotocolhandler.o)
  ...

我試着在value.h中找到overload =運算符的定義,我發現這個:

Value& operator=(Value other);

這可能與鏈接器問題有關,但我真的不知道如何解決它。
有人可以幫我一點嗎? 謝謝

事實上,libjson-rpc-cpp.a的版本是使用jsoncpp庫的非更新源編譯的。 所以我重新生成了一個更新的libjson-rpc-cpp.a,現在它可以工作了。

編譯OSVR時遇到了同樣的錯誤。 問題的根源是/ usr / local / include中過時的jsoncpp頭文件。

什么對我有用:

  • 從/ usr / local / lib,/ usr / local / include中刪除jsoncpp
  • 從/ usr / local / lib,/ usr / local / include中刪除libjson-rpc-cpp

從github源構建並安裝jsoncpp,包括動態庫:

  • git clone --recursive https://github.com/VRPN/jsoncpp
  • git clone --recursive https://github.com/cinemast/libjson-rpc-cpp.git
  • cd jsoncpp
  • cmake -DCMAKE_BUILD_TYPE = debug -DBUILD_STATIC_LIBS = ON -DBUILD_SHARED_LIBS = ON -DARCHIVE_INSTALL_DIR =。 -G“Unix Makefiles”。
  • 使
  • make install
  • cd ../libjson-rpc-cpp
  • cmake -DCMAKE_BUILD_TYPE = debug -DBUILD_STATIC_LIBS = ON -DBUILD_SHARED_LIBS = ON -DARCHIVE_INSTALL_DIR =。 -G“Unix Makefiles”。
  • 使
  • make install

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM