![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Litkevich Yuriy |
![]() ![]()
Сообщение
#1
|
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Возникла проблема с линковкой чужой dll-ки (точнее lib-файла) к своему приложению написанному на Qt/MinGW32.
получаю сообщения об ошибке: MinGW пытается искать искажённые имена. А Dll-ка выглядит так:DLL-ка создана студийным компиллером, неизвестной версии. Бибилотека, как указано в её описании, пригодна для компиляции как Си так и Си++ компиляторами, без привязки к конкретному производителю компилятора. Однако, в случае с плагином Qt, для поддержки СУБД Firebird, такой проблемы нет. Хотя тамошние lib и dll тоже студийные и тоже не имеют искажений имён. В чём может быть проблема? |
|
|
||
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
А как это врукопашную? с помощью QLibrary загружаю, фрагмент: где dbxLib экземпляр QLibrary
|
|
|
Danila_Bagrofff |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 16.4.2009 Из: Нижний Новгород Пользователь №: 690 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Нашел интересную инфу:
http://forums.codeblocks.org/index.php?PHP...g62081#msg62081 В особенности: Цитата I've replace
with
in DBx32.h and now I get a beautiful Цитата Process terminated with status 0 (0 minutes, 26 seconds) 0 errors, 0 warnings Это в файле dbx32.h подменили. так проблема с @16 вроде как пропала. Но не получается заюзать функцию. Пытаюсь теперь заюзать в кути:
Но выдается ошибка: Цитата mingw32-make: Leaving directory `D:/Program/LoodsmanContext' debug/DialogPE3.o:D:\Program\LoodsmanContext/DialogPE3.cpp:262: undefined reference to `TOpenDesign(long, long, char const*, DbxContext*)' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\LoodsmanContext.exe] Error 1 mingw32-make: *** [debug] Error 2 Процесс "D:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2. Возникла ошибка при сборке проекта LoodsmanContext (цель: Настольный компьютер) Во время выполнения сборки на этапе "Сборка" Подскажите, где я теперь косяк? |
|
|
Danila_Bagrofff |
![]()
Сообщение
#4
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 16.4.2009 Из: Нижний Новгород Пользователь №: 690 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
такое ощущение, что не находится данная функция в либе.
Попробовал реимпов получить .a файл. Он у меня пустой =((( Может, поможите .a файл сделать? Пробую сделать так: reimp -d Dbx32.lib dlltool -D Dbx32.dll -d Dbx32.def -l Dbx32.a -k Но dbx32.a - пустой =(( Litkevich Yuriy, А extern "C" включено, или выключено у тебя? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 27.6.2025, 4:18 |