Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Builder C++ 6.0
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
KARLSON
Здравствуйте.
Делаю проект с параллельным потоком. В параллельном потоке работаю с библиотекой от FTDI. Как только не подключал я ftd2xx.h, всё без полезно.
Линкер выдаёт аналогичные ошибки этой:
[Linker Error] Unresolved external 'FT_OpenEx' referenced from D:\YANDEX DISK\GSM\PROGRAMSBORKA\THREADCOMMUNICATIONDEVICE.OBJ
Я понимаю, что он не видит тело функции, но побороть не получается.
Раньше я работал без параллельных потоков, в главном файле подключаю ftd2xx.h и всё работает, а тут что-то не получается.
Проект приложил.
Xenia
У вас ftd2xx.lib не включена в проект, а без нее dll-ки использовать нельзя.

Но и ее включение в проект вас не спасет, т.к. эта либа написана в другом формате (COFF вместо OMF).

Создате библиотеку ftd2xx.lib импорта заново средствами самого Билдера, натравив implib.exe на ftd2xx.dll.
KARLSON
В тех проектах(без параллельных потоков), где всё работает в файле .cpp формы (там же используются функции от FTDI) только одна строчка #include "FTD2XX.h".
Я так понимаю в этом файле и подключается библиотека.
Заменил свои файлы ftd2xx.dll, ftd2xx.h, ftd2xx.lib на файлы из работающих проектов.
Ошибка не пропала.
Xenia
1) Библиотека импорта создана заново. Вот так:
implib.exe -c ftd2xx.lib ftd2xx.dll
2) Вновь полученный файл ftd2xx.lib включен в проект.

Это всё. И скажите только, что не компилируется. sm.gif

Получите:
KARLSON
Так, расскажите последовательность действий.
Мои:
файл ftd2xx.dll скопировал в папку c:\Program Files (x86)\Borland\CBuilder6\Bin\
в командной строке прописал implib.exe -c ftd2xx.lib ftd2xx.dll. Появился файл ftd2xx.lib.
Переместил ftd2xx.lib в папку с проектом. Компилирую и те же ошибки.
Сравнил ваш файл и мой ftd2xx.lib - совпадают.

Я так понимаю, он где-то в самом проекте подключается?
//-----------------------------------------------------------------------------------------------------------------------------------

Всё. понял. Пока писал, гуглил и нашёл. Shift+F11, выбрать расширение lib и выбрать файл.
А файл ftd2xx.lib поставляется компанией FTDI и он совпадает с генерированным.

Странно, что в других рабочих проектах я такого не делал.
Спасибо за помощь a14.gif
Xenia
Цитата(KARLSON @ Aug 16 2013, 20:41) *
Так, расскажите последовательность действий.
Всё. понял. Пока писал, гуглил и нашёл. Shift+F11, выбрать расширение lib и выбрать файл.
А файл ftd2xx.lib поставляется компанией FTDI и он совпадает с генерированным.


Я же вам и файл проекта со вставленной либой в архив закатала. Почему бы вам было не скомпилировать присланное, вместо того, чтобы биться лбом об стенку?

Никаких Shift+F11 нажимать не надо - всё делается через меню стандартным образом: Project -> Add to Project... -> вколачиваете ftd2xx.lib и жмете OK. Точно так же добавляют в проект и все другие файлы. А если вы в последнем диалоге откроете "Files of type:", то будете удивлены обилием того, что можно еще включить в проект.
KARLSON
не. ваш пробовал, компилировал, работает. Но причину-то надо было понять)) Не обращаться же мне к вам с каждым новым проектом?)))
Shift+F11 то же самое. Горячие клавиши.
Xenia
Цитата(KARLSON @ Aug 16 2013, 20:49) *
не. ваш пробовал, компилировал, работает. Но причину-то надо было понять)) Не обращаться же мне к вам с каждым новым проектом?)))
Shift+F11 то же самое. Горячие клавиши.


Так я вам сразу ответила (2-е сообщение в теме):
Цитата(Xenia @ Aug 16 2013, 16:32) *
У вас ftd2xx.lib не включена в проект, а без нее dll-ки использовать нельзя.

Или вы под выражением "включить в проект" понимаете что-то другое?
KARLSON
Да, под этим я понимал записи в файлах с помощью include или pragma.
Xenia
KARLSON, вы уж потом расскажите, заработала ли у вас FTDI-библиотека. А то компиляция это только пол дела, работоспособность библиотеки она не гарантирует.

Свой интерес проявляю т.к. сама на эту библиотеку глаз положила sm.gif. Много раз использовала FTDI-драйвер, но только, как виртуальный COM-порт, а с живыми функциями дело иметь не приходилось.
KARLSON
Библиотека работает. По крайней мере в старых проектах. У меня есть проект устройство с тремя контроллерами соединённых последовательно по UART. И мне, бывает, нужно обновить прошивку. И я в гуи с помощью FTDI прошиваю последовательно все 3 контроллера. 2 проекта уже рабочих есть с этой библиотекой.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.