crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> искажения имён функций в LIB-файлах, и как с ними жить.
Litkevich Yuriy
  опции профиля:
сообщение 30.12.2010, 22:20
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Возникла проблема с линковкой чужой dll-ки (точнее lib-файла) к своему приложению написанному на Qt/MinGW32.

получаю сообщения об ошибке:
tmp/debug/mainwindow.o: In function `ZN10Mainwindow5startEv':
L:/Repository/EDATools/P-CAD_interface/DBXSamp4Port2Qt4/src/mainwindow.cpp:33: undefined reference to `_Z11TOpenDesignllPKcP10DbxContext@16'
L:/Repository/EDATools/P-CAD_interface/DBXSamp4Port2Qt4/src/mainwindow.cpp:45: undefined reference to `_Z12TGetFirstNetP10DbxContextP4TNet@8'
L:/Repository/EDATools/P-CAD_interface/DBXSamp4Port2Qt4/src/mainwindow.cpp:50: undefined reference to `_Z11TGetNextNetP10DbxContextP4TNet@8'
L:/Repository/EDATools/P-CAD_interface/DBXSamp4Port2Qt4/src/mainwindow.cpp:59: undefined reference to `_Z12TCloseDesignP10DbxContextPKc@8'
tmp/debug/mainwindow.o: In function `ZN10Mainwindow4exitEv':
L:/Repository/EDATools/P-CAD_interface/DBXSamp4Port2Qt4/src/mainwindow.cpp:68: undefined reference to `_Z12TCloseDesignP10DbxContextPKc@8'
collect2: ld returned 1 exit status
MinGW пытается искать искажённые имена. А Dll-ка выглядит так:
Прикрепленное изображение

DLL-ка создана студийным компиллером, неизвестной версии. Бибилотека, как указано в её описании, пригодна для компиляции как Си так и Си++ компиляторами, без привязки к конкретному производителю компилятора.

Однако, в случае с плагином Qt, для поддержки СУБД Firebird, такой проблемы нет. Хотя тамошние lib и dll тоже студийные и тоже не имеют искажений имён.

В чём может быть проблема?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
igor_bogomolov
  опции профиля:
сообщение 31.12.2010, 0:57
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


В чём может быть проблема не знаю, просто в качестве варианта, может попробовать этот lib файл через reimp/dlltool прогнать? По аналогии с тем, как когда то плагин для mysql собирали.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Litkevich Yuriy   искажения имён функций в LIB-файлах, и как с ними жить.   30.12.2010, 22:20
- - igor_bogomolov   В чём может быть проблема не знаю, просто в качест...   31.12.2010, 0:57
- - Litkevich Yuriy   Не помогло. теперь вывод такой: g++ -enable-stdcal...   31.12.2010, 11:53
- - DEADHUNT   h файл посмотри, может он для C предназначен, доба...   31.12.2010, 15:28
- - Litkevich Yuriy   DEADHUNT, Хм-м-м. Сделал так: extern "C" {...   31.12.2010, 16:36
- - Iron Bug   это называется декорирование имён (decoration) либ...   1.1.2011, 15:42
- - Litkevich Yuriy   я пока врукопашную разрешаю имена функций. Времени...   1.1.2011, 16:14
|- - Danila_Bagrofff   Цитата(Litkevich Yuriy @ 1.1.2011, 17:14)...   11.7.2011, 13:03
- - Litkevich Yuriy   Цитата(Danila_Bagrofff @ 11.7.2011, 16:03...   11.7.2011, 13:15
|- - Danila_Bagrofff   Нашел интересную инфу: http://forums.codeblocks.or...   11.7.2011, 13:28
|- - Danila_Bagrofff   такое ощущение, что не находится данная функция в ...   11.7.2011, 17:23
- - Litkevich Yuriy   проделал этот же трюк, получил ошибку: Цитатаtmp/r...   11.7.2011, 16:53
- - Litkevich Yuriy   Цитата(Danila_Bagrofff @ 11.7.2011, 20:23...   11.7.2011, 17:59
- - Iron Bug   Цитата(Danila_Bagrofff @ 11.7.2011, 16:28...   11.7.2011, 18:00
- - Litkevich Yuriy   к стати, из твоей же ссылки, чувак пишет что измен...   11.7.2011, 18:01
- - Danila_Bagrofff   - проблема вызова функции (это фактически API для ...   12.7.2011, 9:01
- - Litkevich Yuriy   я a-файл вообще не делал.   12.7.2011, 9:25
- - Danila_Bagrofff   Litkevich Yuriy, а если попробовать все-таки прео...   12.7.2011, 10:39
- - Iron Bug   Цитата(Litkevich Yuriy @ 11.7.2011, 20:01...   12.7.2011, 14:11


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.4.2024, 17:34