|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Unresolved external при линковке .DLL |
|
Unresolved external при линковке .DLL
|
Новый участник Сообщения: 29 |
Профиль | Отправить PM | Цитировать Всем привет!
Я решил написать DLL. Начало было удачным, тестовая функция с примером сложения двух чисел пошла на ура. Потом я использовал некоторые компоненты в функции — создание, использование и удаление. (Это был компонент Indy: TIdTCPClient) И беда случилась при линковке: [Linker Error] Unresolved external 'Idtcpclient::TIdTCPClient::' referenced from D:\PROJECTS\CONNECT\CLIENT.OBJ [Linker Error] Unresolved external '__fastcall Idtcpclient::TIdTCPClient::TIdTCPClient(Classes::TComponent *)' referenced from D:\PROJECTS\CONNECT\CLIENT.OBJ Аналогично шла ругань по поводу использования строк. Причем пока я не написал в .h файле строки типа int __declspec(dllexport) __cdecl CreateClient(void* Client, char* RemoteHost, int RemotePort); то компилировался и линковался проект без проблем, поскольку в .cpp были соответствующие инклуды #include <IdTCPClient.hpp>. Как сделать, чтобы линкер находил и резолвил для .dll все, что надо? Потому как в обычной ехе-программе все было бы ок. |
|
Отправлено: 18:43, 15-03-2005 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать я обнаружил, что если стоят галочки "build with runtime pakages" и "use dinamic rtl", то компиляция и линковка на ура. если убрать галочки, то выходят эти ошибки. но зачем мне это в уже готовой длл? я ж не буду с собой таскать кучу билдеровских файлов?!
|
Отправлено: 20:35, 15-03-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Текущие проблемы решены таким образом:
Я создал проект DLL wizard. Потом написал код с использованием нужных мне компонент. Далее просто добавил нужные .obj файлы в проект, которые поочередно требовались при компиляции и линковке. И галочки "build with runtime pakages" и "use dinamic rtl" отключены, конечно же. Проверил - работает, моя dll создала соединение с Indy-сервером, приняла и передала данные. Потом проверю, как эта dll будет работать в программе на Visual C++. Надеюсь, проблем уже не будет.......... Всем спасибо |
Отправлено: 18:14, 16-03-2005 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
External SATA port | alleclf | Материнские платы и память | 3 | 14-08-2009 17:42 | |
External HDD | Aleksey Potapov | Microsoft Windows NT/2000/2003 | 7 | 30-07-2008 15:45 | |
Разное - [решено] dwmapi.dll; mpr.dll; shlwapi.dll | Reset5 | Microsoft Windows 2000/XP | 2 | 14-06-2008 16:31 | |
Приобретение - Практика использования External Connector - help! | Nick_44 | Лицензирование продуктов Microsoft | 1 | 29-10-2007 17:58 | |
Help!!! error LNK2001: unresolved external symbol | Wolande | Программирование и базы данных | 4 | 30-08-2003 18:47 |
|