【发布时间】:2016-03-10 14:35:13
【问题描述】:
我正在尝试将 ftd2xx.lib 与 lcc-win32 编译器一起使用,但链接器失败。我使用了 CDM v2.12.14,但之前的 FTDI 驱动程序也给出了相同的错误。我尝试在 Windows XP 和 Windows7 上编译;结果相同。
如果我链接静态库,我会得到这些错误:
File ftd2xx.lib contains unknown section .text$mn.
.text section assumed
File ftd2xx.lib contains unknown section .data$r.
.data section assumed
.data$r: undefined reference to '??_7type_info@@6B@'
.text$mn: undefined reference to '__imp__SetupDiGetClassDevsA@16'
.text$mn: undefined reference to '__imp__SetupDiEnumDeviceInterfaces@20'
如果我链接动态 ftd2xx.lib(将 ftd2xx.dll 放在 .exe 文件的同一目录中),我会得到这个:
Error e:\c\ftdi_cnt\main.c 11 undefined reference to __imp__FT_Open
(请注意,用于此测试的 main.c 仅包含一个 FT_Open() 调用)。
有没有人能够使用 lcc-win32 编译器运行 ftd2xx.lib 或者当前正在使用 lcc-win32 并且可以进行快速测试?这是最新的FTDI driver。谢谢。
【问题讨论】:
-
我不知道 Lcc-win32。我在 Visual Studio 中多次使用该库,没有问题。
-
我开始认为 D2XX 需要一个 C++ 编译器。有人尝试过只使用 C 编译器吗?
-
您是在尝试链接原始 .lib 文件(可能用于 MSVC),还是将它们转换为 lcc-win32 库格式?
-
ftd2xx.h头文件要求在 Windows 上编译时预定义_WIN32宏。 Lcc-Win32 编译器会这样做吗?如果没有,您必须安排在包含标题之前对其进行定义。