如何在QtCreator上使用FTD2xx库(使用MSVC2012编译器)

时间:2014-02-11 12:30:38

标签: c++ qt visual-c++ qt-creator ftdi

我在创建一个通过D2xx driver传递FTDI设备的应用程序时遇到了麻烦。在ftdi的网站上有一些Visual Studio的示例项目。但是没有QtCreator。我选择QtCreator作为c ++ IDE,因为我的应用程序需要Qt框架。 我把ftd2xx.h和ftd2xx.lib放在Qt项目目录中。

(ftd2xx.lib是静态库,最初位于[download-folder] \ 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

任何帮助将不胜感激。提前谢谢。

[注]

操作系统:Windows 8.1

IDE:Qt Creator 3.0.0

编译器:MSVC2012(32位)

目标设备:ft232hl

[附加说明]

“添加库”的配置如下。 如果我为调试版启用了“添加”d“后缀复选框,那么我收到有关LNK1104的错误消息。否则,我收到了不同的错误消息。

enter image description here

1 个答案:

答案 0 :(得分:1)

我的预感是您在错误消息中输了一个错字,真正的错误消息如下:

LNK1104: cannot open file 'ftd2xxd.lib'

在那里看到d?它不属于,没有ftd2xxd.lib。您需要将对ftd2xxd.lib的任何引用更改回ftd2xx.lib,重新运行qmake,您应该全部设置。否则你的.pro文件似乎是正确的。

编辑完成后,您提供了一个带有“启用复选框”的.pro文件。这当然不是真的,因为您显示的内容暗示该复选框已已禁用已启用。

无论如何,我们不关心对话框设置是什么。只显示你真正使用的实际.pro文件,因为到目前为止我不知道你使用了哪一个,我不知道你是否在.pro之后重新运行qmake文件已更改。

您确定ftd2xx.lib文件实际上位于.pro文件所在的文件夹中吗?