У меня проблемы с созданием приложения, которое связывается с устройствами FTDI через Драйвер D2xx.На сайте ftdi есть пример проекта для Visual Studio. Но это не для QtCreator. Я выбрал QtCreator в качестве c ++ IDE, потому что моему приложению нужна инфраструктура Qt.
Я поместил ftd2xx.h и ftd2xx.lib в каталог проекта Qt.
(ftd2xx.lib — статическая библиотека, которая изначально находилась в [download-folder] \ CDM v2.08.30 для Windows 8.1 \ Static \ i386)
Когда образец исходного кода был скомпилирован, я получил следующее сообщение об ошибке.
Сообщение об ошибке при использовании файла .pro (1).
LNK1104: cannot open file 'ftd2xx.lib'
Сообщение об ошибке при использовании файла .pro (2).
error: Assignment needs exactly one word on the left hand side.
Как я должен исправить настройки проекта Qt, чтобы использовать библиотеку ftd2xx?
Мой исходный код и .pro файл здесь.
[Main.cpp]#include <QCoreApplication>
#include <windows.h>
#include "ftd2xx.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
FT_HANDLE ftHandle;
FT_STATUS ftStatus;
ftStatus = FT_Open(0,&ftHandle);
return a.exec();
}
[.pro файл, если флажок включен] — (1)
#-------------------------------------------------
#
# Project created by QtCreator 2014-02-11T18:51:08
#
#-------------------------------------------------
QT += core
QT -= gui
TARGET = D2XXtest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = appSOURCES += main.cpp
HEADERS += ftd2xx.h
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/ -lftd2xx
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/ -lftd2xxd
INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/
win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/libftd2xx.a
else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/libftd2xxd.a
else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/ftd2xx.lib
else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/ftd2xxd.lib
[.pro файл, если флажок Не включено] — (2)
#-------------------------------------------------
#
# Project created by QtCreator 2014-02-11T18:51:08
#
#-------------------------------------------------
QT += core
QT -= gui
TARGET = D2XXtest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = appSOURCES += main.cpp
HEADERS += ftd2xx.h
win32: LIBS += -L$$PWD/ -lftd2xx
INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/
win32:!win32-g++ PRE_TARGETDEPS += $$PWD/ftd2xx.lib
else:win32-g++: PRE_TARGETDEPS += $$PWD/libftd2xx.a
Любая помощь будет оценена. Заранее спасибо.
[Заметка]ОС: Windows 8.1
IDE: Qt Creator 3.0.0
Компилятор: MSVC2012 (32 бита)
Целевое устройство: ft232hl
[Дополнительное примечание]
Конфигурация «Добавить библиотеку» следующая.
Если я включаю флажок «Добавить суффикс d» для отладочной версии, то получаю сообщение об ошибке LNK1104. В противном случае я получаю другое сообщение об ошибке.
Я догадываюсь, что вы сделали опечатку в своем сообщении об ошибке, а настоящее сообщение об ошибке выглядит следующим образом:
LNK1104: cannot open file 'ftd2xxd.lib'
Видеть, что d
там? Это не принадлежит, нет ftd2xxd.lib
, Вы должны изменить любые ссылки на ftd2xxd.lib
вернуться к ftd2xx.lib
, перезапустите qmake, и у вас все будет готово. В противном случае ваш файл .pro кажется правильным.
После редактирования вы дали файл .pro с включенным флажком. Это, конечно, не так, поскольку содержимое, которое вы показываете, подразумевает, что флажок отключен, не включен.
Во всяком случае, нам все равно, какие настройки диалогового окна. Просто покажи актуальный .pro
файл, который вы действительно используете, потому что до сих пор я не знаю, какой вы используете, и я не знаю, перезапускаете ли вы qmake после .pro
файл был изменен.
Вы уверены, что ftd2xx.lib
Файл на самом деле находится в той же папке, где .pro
файл есть?
Других решений пока нет …