Здравствуйте, гость ( Вход | Регистрация )
Iron Bug | Дата 12.7.2011, 14:11 |
какой-то старой студией у разных студий разные форматы декорирования. последние студии поддерживают новый стандарт, но отличаются от старых. я не помню точно, кажется, начиная с 6-й студии пошёл новый формат. но может, и после неё. |
|
Danila_Bagrofff | Дата 12.7.2011, 10:39 |
Litkevich Yuriy, а если попробовать все-таки преобразовать либу под mingw формат?... У меня почему-то никак на выходе не получается нормальный .a файл. Пустой и все... =( |
|
Litkevich Yuriy | Дата 12.7.2011, 9:25 |
я a-файл вообще не делал. | |
Danila_Bagrofff | Дата 12.7.2011, 9:01 |
- проблема вызова функции (это фактически API для работы с P-CAD) из библиотеки dbx32.dll (dbx32.lib) - чем собрана уже уточнили =) Litkevich Yuriy, а у меня че-то перестала .a либа собираться =((( В чем трабла не пойму... Litkevich Yuriy, А вы пробовали аналогично ручками поправить, как там дефник и подгузить .a либу? Может, если у вас получится, дадите .a файл?) Вместе с другими исходниками. Был бы благодарен. Дальше бы пробовал побеждать =) |
|
Litkevich Yuriy | Дата 11.7.2011, 18:01 |
к стати, из твоей же ссылки, чувак пишет что изменение декларации привело к новым проблемам по-этому он поступил так: Цитата So I found another way out, with pexports I create a .def file in the .def file I add a @nn decoration to each function by hand I create a import library with dlltool with the -k switch Now it works but I've to do the step 2 by hand, do you know how I can get this done by some routine? (yes, I know I could write down a routine by myself, but why bother if it already exists?) чем собрана библиотека, которую загружаешь какой-то старой студией |
|
Iron Bug | Дата 11.7.2011, 18:00 |
Подскажите, где я теперь косяк? ты сначала уточни, что у тебя за проблема: что ты загружаешь, как загружаешь, в какой системе и чем оно собрано и где и как ты собираешь свой проект. я так понимаю, у тебя венда и мингв. под 32 бита (кстати, битность - ещё одна проблема во взаимодействии библиотек). вопрос в том, чем собрана библиотека, которую загружаешь. и что оттуда экспортируется (классы, функции, данные)? |
|
Litkevich Yuriy | Дата 11.7.2011, 17:59 |
А extern "C" включено, или выключено у тебя? присутсвует |
|
Danila_Bagrofff | Дата 11.7.2011, 17:23 |
такое ощущение, что не находится данная функция в либе. Попробовал реимпов получить .a файл. Он у меня пустой =((( Может, поможите .a файл сделать? Пробую сделать так: reimp -d Dbx32.lib dlltool -D Dbx32.dll -d Dbx32.def -l Dbx32.a -k Но dbx32.a - пустой =(( Litkevich Yuriy, А extern "C" включено, или выключено у тебя? |
|
Litkevich Yuriy | Дата 11.7.2011, 16:53 |
проделал этот же трюк, получил ошибку: Цитата tmp/release/mainwindow.o:mainwindow.cpp:(.text+0x19): undefined reference to `TCloseDesign' tmp/release/mainwindow.o:mainwindow.cpp:(.text+0x309): undefined reference to `TCloseDesign' tmp/release/mainwindow.o:mainwindow.cpp:(.text+0x3cc): undefined reference to `TOpenDesign' ... П.С. вспомнил, что когда-то у меня была такая ошибка. |
|
Danila_Bagrofff | Дата 11.7.2011, 13:28 |
Нашел интересную инфу: 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 (цель: Настольный компьютер) Во время выполнения сборки на этапе "Сборка" Подскажите, где я теперь косяк? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 20.4.2024, 17:46 |