Russian Qt Forum
Май 13, 2024, 05:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибки компиляции  (Прочитано 4316 раз)
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

Подскажите, что не хватает В замешательстве
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 579


Просмотр профиля
« Ответ #1 : Апрель 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.
Записан
Myafka
Гость
« Ответ #2 : Апрель 07, 2016, 09:33 »

Спасибо. Попробую и сообщу результат.
Записан
Myafka
Гость
« Ответ #3 : Апрель 07, 2016, 12:35 »

А можно более подробно описать, что нужно сделать. Как собрать? Я скачала пример где используются эти библиотеки и попробовала прописать к ним путь, но при компиляции выдаются ошибки cannot find -llibthriftnb и cannot find -llibthrift. Спасибо
Записан
Myafka
Гость
« Ответ #4 : Апрель 07, 2016, 14:19 »

Указав путь к libthrift.lib получила ошибку:

file not recognized: File format not recognized
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #5 : Апрель 07, 2016, 15:52 »

какой компилятор используется?
Может буст скомпилирован не тем компилятором, с помощью кого хочешь собрать клиент?
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Myafka
Гость
« Ответ #6 : Апрель 07, 2016, 16:37 »

Использую MinGW32. И буст скомпилирован им же.
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 579


Просмотр профиля
« Ответ #7 : Апрель 08, 2016, 08:37 »

Здесь важно, чем собраны libthriftnb и libthrift. Скорее всего с помощью MSVC.
При использовании MinGW32 эти библиотеки необходимо собрать самостоятельно, как это сделать в Linux описано здесь http://thrift.apache.org/docs/BuildingFromSource, про Windows к сожалению не знаю.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.063 секунд. Запросов: 20.