реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Использование USBXpress с Borland C++ Builder
Charley
сообщение Jul 20 2006, 07:37
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 10-11-05
Из: Chisinau
Пользователь №: 10 697



Привет знатокам!

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

С Уважением
Charley
Go to the top of the page
 
+Quote Post
o-henry
сообщение Jul 20 2006, 08:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069



У меня была похожая проблема.

В комплекте с заказным железом шла динамическая библиотека 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

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

Удачи.
Go to the top of the page
 
+Quote Post
Charley
сообщение Jul 20 2006, 10:17
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 10-11-05
Из: Chisinau
Пользователь №: 10 697



Цитата(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


Спасибо за ответ. Из Вашего ответа только модификация файла заголовка была для меня новой! Все остальное я делал также... Проект компилируется без ошибок, однако не работает... Увы...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th August 2025 - 09:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016