D2xx ドライバーを介して FTDI デバイスと通信するアプリケーションを作成するのに問題があります。ftdi の Web サイトに Visual Studio のサンプル プロジェクトがあります。しかし、QtCreator にはありません。私のアプリケーションには Qt フレームワークが必要なので、C++ IDE として QtCreator を選択しました。ftd2xx.h と ftd2xx.lib を Qt プロジェクト ディレクトリに配置します。
(ftd2xx.lib はスタティック ライブラリで、元々 [ダウンロード フォルダー]\CDM v2.08.30 for 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.
ftd2xx ライブラリを利用するには、Qt プロジェクトのセットアップをどのように修正すればよいですか?
私のソース コードと .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 = app
SOURCES += 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 = app
SOURCES += 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
どんな助けでも大歓迎です。前もって感謝します。
[ノート]
OS: Windows 8.1
IDE: Qt クリエーター 3.0.0
コンパイラ: MSVC2012(32bit)
対象機種:ft232hl
【追記】
「Add Library」の構成は以下の通りです。チェックボックス「Add "d" suffix for debug version」を有効にすると、LNK1104 に関するエラー メッセージが表示されました。それ以外の場合は、別のエラー メッセージが表示されました。