Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Myafka от Апрель 06, 2016, 11:07



Название: Ошибки компиляции
Отправлено: 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 к сожалению не знаю.