искажения имён функций в LIB-файлах, и как с ними жить. |
Здравствуйте, гость ( Вход | Регистрация )
искажения имён функций в LIB-файлах, и как с ними жить. |
Litkevich Yuriy |
11.7.2011, 16:53
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
проделал этот же трюк, получил ошибку:
Цитата 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, 17:23
Сообщение
#12
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 16.4.2009 Из: Нижний Новгород Пользователь №: 690 Спасибо сказали: 0 раз(а) Репутация: 0 |
такое ощущение, что не находится данная функция в либе.
Попробовал реимпов получить .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, 17:59
Сообщение
#13
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Iron Bug |
11.7.2011, 18:00
Сообщение
#14
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Подскажите, где я теперь косяк? ты сначала уточни, что у тебя за проблема: что ты загружаешь, как загружаешь, в какой системе и чем оно собрано и где и как ты собираешь свой проект. я так понимаю, у тебя венда и мингв. под 32 бита (кстати, битность - ещё одна проблема во взаимодействии библиотек). вопрос в том, чем собрана библиотека, которую загружаешь. и что оттуда экспортируется (классы, функции, данные)? Сообщение отредактировал Iron Bug - 11.7.2011, 18:00 |
|
|
Litkevich Yuriy |
11.7.2011, 18:01
Сообщение
#15
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
к стати, из твоей же ссылки, чувак пишет что изменение декларации привело к новым проблемам по-этому он поступил так:
Цитата 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?) чем собрана библиотека, которую загружаешь какой-то старой студией
|
|
|
Danila_Bagrofff |
12.7.2011, 9:01
Сообщение
#16
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 16.4.2009 Из: Нижний Новгород Пользователь №: 690 Спасибо сказали: 0 раз(а) Репутация: 0 |
- проблема вызова функции (это фактически API для работы с P-CAD) из библиотеки dbx32.dll (dbx32.lib)
- чем собрана уже уточнили =) Litkevich Yuriy, а у меня че-то перестала .a либа собираться =((( В чем трабла не пойму... Litkevich Yuriy, А вы пробовали аналогично ручками поправить, как там дефник и подгузить .a либу? Может, если у вас получится, дадите .a файл?) Вместе с другими исходниками. Был бы благодарен. Дальше бы пробовал побеждать =) |
|
|
Litkevich Yuriy |
12.7.2011, 9:25
Сообщение
#17
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
я a-файл вообще не делал.
|
|
|
Danila_Bagrofff |
12.7.2011, 10:39
Сообщение
#18
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 16.4.2009 Из: Нижний Новгород Пользователь №: 690 Спасибо сказали: 0 раз(а) Репутация: 0 |
Litkevich Yuriy,
а если попробовать все-таки преобразовать либу под mingw формат?... У меня почему-то никак на выходе не получается нормальный .a файл. Пустой и все... =( |
|
|
Iron Bug |
12.7.2011, 14:11
Сообщение
#19
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
какой-то старой студией у разных студий разные форматы декорирования. последние студии поддерживают новый стандарт, но отличаются от старых. я не помню точно, кажется, начиная с 6-й студии пошёл новый формат. но может, и после неё. Сообщение отредактировал Iron Bug - 12.7.2011, 14:11 |
|
|
Текстовая версия | Сейчас: 19.4.2024, 14:06 |