FTDI驱动程序和DLL

时间:2014-08-19 18:45:01

标签: drivers ftdi

我对包含cdm v2.10.00 whql certified.rar

的文件和文件夹类型有疑问

在rar中有3个文件夹:

Static\i386, Static\amd64, i386, amd64

在一个简单的C ++项目中,我怎么知道我必须从哪个文件夹中获取ftd2xx.dll? 我认为ftd2xx.h是一样的。 但是dll怎么样?在静态文件夹中,只有.lib文件。它的lib文件有什么用?

2 个答案:

答案 0 :(得分:1)

FTDI D2XX驱动程序的API有两个版本,每个版本都有一个32位和64位二进制文​​件,正如您可能从rar存档中的文件夹中猜到的那样:

  

静态\ i386,静态\ amd64,i386,amd64

以下是您使用它们的方式:

  • i386 :这是32位动态链接版本。只需在附加依赖项链接器参数中指定此文件夹中的.lib文件,并在“其他库目录”下指定它的路径。还要确保已编译的代码(.dll或.exe)可以访问ftd2xx.dll文件。
  • amd64 :这是64位动态链接版本。使用它与64位版本中的32位版本相同。
  • Static / i386 :正如目录名所暗示的,这是32位的静态链接版本。以与动态链接版本相同的方式包含.lib,除了这次,您不需要ftd2xx.dll。而是在项目设置中将 FTD2XX_STATIC 指定为预处理器定义。我还想指出,FTDI D2XX API的这个静态版本链接到运行时库的发行版本,因此它只能在发布版本中运行
  • Static / amd64 :与 Static / i386 相同,但这是64位静态链接版本。同样:没有DLL,但 FTD2XX_STATIC 需要定义,并且只与运行时库的发行版本链接。

请记住,对于所有这些版本,您使用归档中相同的头文件ftd2xx.h。

答案 1 :(得分:0)

如果您创建32位软件,则必须使用i386版本,如果您创建64位软件,请使用amd64版本。

静态文件夹中的.lib是静态链接时。 .dll用于动态链接。这意味着如果您分发您的软件,您也必须分发该DLL。静态版本将包含您创建的.exe中的所有内容。

应该有一些文档说明这一点。根据您使用的是静态还是动态版本,您可能需要#define。 (除非.h不是100%相同,否则您只需选择相应的.h文件。