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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: chai-библиотека  (Прочитано 3725 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« : Ноябрь 27, 2014, 15:07 »

Пытаюсь подключить либу для обмена по CAN.
Есть либы  chai.dll chai.lib , а также есть инклюдник chai.h

Но не могу понять как подключить
Библиотека собиралась не на Qt

Скажите как можно подключить обычную либу???
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Ноябрь 27, 2014, 15:28 »

*.pro:
Код:
INCLUDEPATH += /path/to/chai_h
LIBS += -L/path/to/chai_lib -lchai

ну и длл в рядом с exe или в любую директорию, что в %PATH% прописана
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #2 : Декабрь 01, 2014, 13:14 »

Прописал путь к либе.

Но при компиляции выдается ошибка вот скрин.
Некоторые понятно, что #define надо переопределить, но 121 строка вообще не могу понять в чем дело???
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #3 : Декабрь 01, 2014, 15:54 »

Понял оказывается у меня имя дефайна совпадала с именем переменной в winsock2.h
типа
Код:

#define h_name 10;



//winsock2.h
...

char *h_name;

всем спсб
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #4 : Декабрь 01, 2014, 17:19 »

Нет не получилось

Пытаюсь использовать встроенную функцию библиотеки <chain.h>
Код:
CiInit()

в main()
Код
C++ (Qt)
int main(int argc, char *argv[])
{
 
...
CiInit(); //???????????????????
}
 
но нет к сожалению
выдается ошибка

Код:
g++ -mthreads -Wl,-subsystem,windows -o debug\BFS.exe object_script.BFS.Debug  -L"c:\QtSDK\Desktop\Qt\4.8.1\mingw\lib" -lmingw32 -lqtmaind -LC:\Qt\qwt-6.1.0\lib -lqwtd -LC:/Qt/qtserialport-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/src/serialport/debug -lQtSerialPortd -LC:/Qt/CHAI-2.10.4/lib/chai.lib -lQtGuid4 -lQtCored4 
mingw32-make.exe[1]: Leaving directory `C:/Qt/BFS'
./debug\main.o: In function `Z5qMainiPPc':
C:\Qt\BFS/main.cpp:47: undefined reference to `_imp__CiInit'

Непонимающий Непонимающий Непонимающий
« Последнее редактирование: Декабрь 01, 2014, 17:31 от demaker » Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #5 : Декабрь 01, 2014, 18:50 »

Нет не получилось

но нет к сожалению
выдается ошибка

Непонимающий Непонимающий Непонимающий
Если библиотека сишная, а не полюсовая, попробуй инклюды примерно так прописать:
Код
C++ (Qt)
#ifdef __cplusplus
extern "C" {
#endif
 
#include <chain.h>
 
#ifdef __cplusplus
}
#endif
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
demaker
Птица говорун
*****
Offline Offline

Сообщений: 960


Просмотр профиля
« Ответ #6 : Декабрь 02, 2014, 11:42 »

Спсб
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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