[英]How can I use ftd2xx.lib with a C++ program?
我在制作程序与FTDI芯片交互时遇到麻烦。 我不知道我能提供多少有关芯片型号的信息。
我正在尝试使用FTDI提供的API与我拥有的芯片进行通信。 我正在为程序使用Qt Creator,这是我第一次使用它。 我发现使用的所有示例都include "ftd2xx.h"
。 好吧,我已经尝试了很多方法来使其工作。 我已经手动输入ftd2xx.lib的目录,将文件移动到项目目录并选择“内部库”,使用原始目录并选择“外部库”,然后选择“系统库”。
唯一给我一个不同错误的方法是,当我在项目目录中包含驱动程序软件包文件时,仅包含带有或不带有LIBS += ...
的头文件。 即使这样,我NAME does not name a type
收到393个错误消息,提示NAME does not name a type
, NAME not declared in scope
等。
如何创建可以识别ftd2xx.lib
并允许我使用ftd2xx.h
的功能的Qt Creator C ++项目?
编辑:我正在使用Windows 64位驱动程序包 。 令我沮丧的是,我忘记了应该包括这些重要的细节。
EDIT2:下面的代码。
#include <QCoreApplication>
#include <iostream>
#include "ftd2xx.h"
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
cout << "test" << endl;
return a.exec();
}
#-------------------------------------------------
#
# Project created by QtCreator 2013-10-04T16:31:18
#
#-------------------------------------------------
QT += core
QT -= gui
TARGET = test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/ -lftd2xx
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/ -lftd2xxd
else:unix: LIBS += -L$$PWD/ -lftd2xx
INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/
所有这一切后面都有更多的NAME does not name a type
错误。
ftd2xx标头中包含许多Windows类型,因此在包含ftdi标头之前,您需要先包含windows.h。
.lib文件是DLL链接库,它提供在运行时使用DLL所需的链接器信息。 以下代码使用g ++编译并运行:
#include <windows.h>
#include <stdio.h>
#include <ftd2xx.h>
int main(int argc, char *argv[])
{
DWORD version = 0;
FT_STATUS status = FT_GetLibraryVersion(&version);
printf("version %ld\n", version);
return (status == FT_OK) ? 0 : 1;
}
编译使用:
g++ -Wall -Idriver -o check.exe check.cpp driver/i386/ftd2xx.lib
driver
文件夹中包含分布式FTDI Windows驱动程序包。 -lftd2xx
将使链接器搜索名为libftd2xx.a的文件,因此只需显式提供.lib文件名即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.