2016-09-05 4 views
0

У меня есть некоторые hardtime компиляции приложения с QT с использованием библиотеки jsonRpc:
- libjson-rpc-cpp
- jsoncpp
При компиляции, у меня есть эта ошибка:
неопределенные символы для архитектуры x86_64 библиотеки jsonrpc

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) 
    ... 

Я пытаюсь найти в значении. H определение оператора перегрузки = и я нахожу это:

Value& operator=(Value other); 

Возможно, это связано с проблемой компоновщика, но я действительно не знаю, как его решить.
Может кто-нибудь, пожалуйста, помогите мне с этим? Спасибо

ответ

0

Фактически, версия libjson-rpc-cpp.a была скомпилирована с источником non-обновления библиотеки jsoncpp. Поэтому я снова создаю libjson-rpc-cpp.a и теперь он работает.

0

У меня была такая же ошибка при компиляции OSVR. Источником проблемы были устаревшие заголовки jsoncpp в/usr/local/include.

То, что работало для меня:

  • Удалить jsoncpp из/USR/местные/Библиотека,/USR/местные/включить
  • Удалить libjson-RPC-каст из/USR/местные/Библиотека,/USR/местные/включить

Построить и установить jsoncpp, включая динамическую библиотеку, от источника GitHub:

  • GIT клон --recursive https://github.com/VRPN/jsoncpp
  • мерзавец клон --recursive https://github.com/cinemast/libjson-rpc-cpp.git
  • кд jsoncpp
  • CMake -DCMAKE_BUILD_TYPE = отлаживать -DBUILD_STATIC_LIBS = ON -DBUILD_SHARED_LIBS = ON -DARCHIVE_INSTALL_DIR =. -G «Unix Make-файлы».
  • сделать
  • сделать установку
  • кд ../libjson-rpc-cpp
  • Cmake -DCMAKE_BUILD_TYPE = отлаживать -DBUILD_STATIC_LIBS = ON -DBUILD_SHARED_LIBS = ON -DARCHIVE_INSTALL_DIR =. -G «Unix Make-файлы».
  • сделать
  • сделать установки
Смежные вопросы