Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Использование USBXpress с Borland C++ Builder
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Charley
Привет знатокам!

Кто использовал dll библиотеку из пакета USBXpress (для микроконтроллеров C8051F320/340) совместно с Borland C++ Builder? Поделитесь опытом! Сложность в том, что динамическая библиотека создана под VC++, который, как известно, не совместим с Borland C++ Builder!!!

С Уважением
Charley
o-henry
У меня была похожая проблема.

В комплекте с заказным железом шла динамическая библиотека api_1.dll, заголовочный файл api_1.h и библиотечный файл api_1.lib

Проблема была в том, что файл api_1.lib расчитан на подключение к VisualC++ 6.0
(не подходит для подключения к проекту на С++Builder).

Как решал проблему:
Сгенерировал для себя библиотечный файл api_1_builder.lib с помощью утилиты implib.exe.
(implib.exe находится в поддиректории Bin той папки, в которую установлен С++Builder).

Пример командной строки, с помощью которой была получена
библиотека api_1_strobe_lib2.lib приведен ниже:
implib -a api_1_builder.lib api_1.dll

Правда пришлось так же малость подкорректировать заголовочный файл:

В исходном заголовочном файле api_1.h были такие строки:
#ifdef API_1_EXPORTS
#define API_1_API __declspec(dllexport)
#else
#define API_1_API __declspec(dllimport)
#endif

Их пришлось заменить на на следующие строки:
#ifdef API_1_EXPORTS
#define API_1_API extern "C" __declspec(dllexport)
#else
#define API_1_API extern "C" __declspec(dllimport)
#endif

После чего проект в билдере благополучно собрался.

Удачи.
Charley
Цитата(o-henry @ Jul 20 2006, 13:06) *
В исходном заголовочном файле api_1.h были такие строки:
#ifdef API_1_EXPORTS
#define API_1_API __declspec(dllexport)
#else
#define API_1_API __declspec(dllimport)
#endif

Их пришлось заменить на на следующие строки:
#ifdef API_1_EXPORTS
#define API_1_API extern "C" __declspec(dllexport)
#else
#define API_1_API extern "C" __declspec(dllimport)
#endif


Спасибо за ответ. Из Вашего ответа только модификация файла заголовка была для меня новой! Все остальное я делал также... Проект компилируется без ошибок, однако не работает... Увы...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.