|
|
|
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Всем доброго времени суток!
Пытаюсь заставить работать преобразователь VSCOM USB-CAN Plus под управлением моей программы на C++ Builder (версия 6). Изготовитель преобразователя распространяет со своим устройством следующий софт: - драйвер; - заголовочный файл vs_can_api.h - библиотеку vs_can_api.dll - lib-файл vs_can_api.lib Что я сделал: - заголовочный файл прописал через #define в модуле Unit1.cpp; - dll-ку закинул в папку проекта; - с помощью coff2omf преобразовал lib-файл в формат omf, т.к. builder требует именно этот формат; - подключил к проекту преобразованный lib-файл vs_can_api.lib; - в обработчике нажатия кнопки вызвал функцию, прототип которой прописан в vs_can_api.h, а именно VSCAN_Open(... ... ...). Попробовал собрать проект. В итоге получил сообщение [Linker Error]Unresolved external "_VSCAN_Open" referenced from ....UNIT1.OBJ Погуглил. Нашел, что Builder перед именами функций пишет знак _. Поправил прототип функции VSCAN_Open в h-файле, а именно сделал ее _stdcall. Попробовал собрать проект. В итоге получил сообщение [Linker Error]Unresolved external "VSCAN_Open" referenced from ....UNIT1.OBJ Погуглил. Нашел, что coff2omf не всегда хорошо преобразовывает из формата coff в формат omf. С помощью утилиты implib сделал .lib-файл для dll-ки vs_can_api.dll. Подключил к проекту этот lib-файл вместо старого. Попробовал собрать проект. В итоге получил сообщение [Linker Error]Unresolved external "VSCAN_Open (CHAR *SerialNrORComPortORNet, DWORD Mode)" referenced from ....UNIT1.OBJ Как его штатными способами заставить работать? Динамически подключиться к dll конечно можно, но хотелось бы разобраться... Заранее спасибо Это сообщение отредактировал(а) Курсант - 28.12.2018, 16:08 |
|||
|
||||
XPyCT |
|
|||
Опытный Профиль Группа: Участник Сообщений: 381 Регистрация: 24.8.2007 Где: Moldova Репутация: 10 Всего: 10 |
А подключили саму либу?
1. Укажите путь поиска заголовка (header.h) 2. Укажите путь поиска статической библиотеки (library path) 3. Подключите в вашем юните статическую библиотеку
все пути для заголовочный файлов и библиотек прописываете в Project::Options::Include path и Project::Options::library path пс: насколько я понимаю он не видит хидера ([Linker Error]Unresolved external) вернее пытается найти в хидере. В общем свое видение я отписал удачи! |
|||
|
||||
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |