Название: Ошибки компиляции Отправлено: Myafka от Апрель 06, 2016, 11:07 Всем привет!
Пытаюсь создать клиент по примеру - https://thrift.apache.org/tutorial/cpp. Возникает несколько ошибок: - undefined reference to `apache::thrift::transport::TSocket::TSocket(std::string const&, int)' - undefined reference to `vtable for apache::thrift::transport::TBufferedTransport' - undefined reference to `vtable for apache::thrift::protocol::TProtocol' - undefined reference to `vtable for TimeServiceClient' В файле .pro прописаны все папки к библиотекам INCLUDEPATH += ".../gen-cpp" INCLUDEPATH += ".../thrift" INCLUDEPATH += ".../boost" LIBS += -LC:/boost/stage/lib \ -llibboost_system-mgw49-mt-1_60 Подскажите, что не хватает :-\ Название: Re: Ошибки компиляции Отправлено: ssoft от Апрель 06, 2016, 17:08 Так линковки с библиотеками apache http://thrift.apache.org/lib/cpp
Цитировать Thrift is divided into two libraries. libthrift - The core Thrift library contains all the core Thrift code. It requires boost shared pointers, pthreads, and librt. libthriftnb - This library contains the Thrift nonblocking server, which uses libevent. To link this library you will also need to link libevent. Название: Re: Ошибки компиляции Отправлено: Myafka от Апрель 07, 2016, 09:33 Спасибо. Попробую и сообщу результат.
Название: Re: Ошибки компиляции Отправлено: Myafka от Апрель 07, 2016, 12:35 А можно более подробно описать, что нужно сделать. Как собрать? Я скачала пример где используются эти библиотеки и попробовала прописать к ним путь, но при компиляции выдаются ошибки cannot find -llibthriftnb и cannot find -llibthrift. Спасибо
Название: Re: Ошибки компиляции Отправлено: Myafka от Апрель 07, 2016, 14:19 Указав путь к libthrift.lib получила ошибку:
file not recognized: File format not recognized Название: Re: Ошибки компиляции Отправлено: Kurles от Апрель 07, 2016, 15:52 какой компилятор используется?
Может буст скомпилирован не тем компилятором, с помощью кого хочешь собрать клиент? Название: Re: Ошибки компиляции Отправлено: Myafka от Апрель 07, 2016, 16:37 Использую MinGW32. И буст скомпилирован им же.
Название: Re: Ошибки компиляции Отправлено: ssoft от Апрель 08, 2016, 08:37 Здесь важно, чем собраны libthriftnb и libthrift. Скорее всего с помощью MSVC.
При использовании MinGW32 эти библиотеки необходимо собрать самостоятельно, как это сделать в Linux описано здесь http://thrift.apache.org/docs/BuildingFromSource (http://thrift.apache.org/docs/BuildingFromSource), про Windows к сожалению не знаю. |