c - 使用 mingw 对 imp 的 undefined reference

标签 c eclipse windows gcc undefined-reference

我遇到的问题是在构建项目时出现的“对'_imp__...' 的 undefined reference ”错误。我使用的是 Windows 7、MinGW、Eclipse 以及 .lib 和 .dll 文件,这些文件不是我制作的,而是我直接从向我出售其产品的公司那里获取的。

我用 -l 命令链接 HRDL.lib 文件,我在同一目录中有 PicoHRDL.dll。找到了 lib 文件(我确定这一点),但出现错误。我已将完整路径包含在 -L 命令中。我已经包含了函数声明的头文件,我得到了 undefined reference ,但错误仍然存​​在。

我已经联系了 Eclipse 支持和 Picotech 支持(上述公司),但他们直到现在都无法定位问题。

这些是命令:

 gcc -O0 -g -Wall -c -fmessage-length=0 -o ACD_SOURCE.o "..\\ACD_SOURCE.c" 
 gcc "-LC:\\Users\\Falamana\\Desktop\\Eclipse\\ADC_project1\\Libraries" -shared -o libADC_24_DataLogger_App.exe ACD_SOURCE.o -lHRDL 

这些是错误:

ACD_SOURCE.o: In function `main':

C:\Users\Falamana\Desktop\Eclipse\ADC_project1\Debug/../ACD_SOURCE.c:70: undefined reference to `_imp__HRDLGetUnitInfo@16'

C:\Users\Falamana\Desktop\Eclipse\ADC_project1\Debug/../ACD_SOURCE.c:99: undefined reference to `_imp__HRDLCloseUnit@4'

ACD_SOURCE.o: In function `SelectUnit':

C:\Users\Falamana\Desktop\Eclipse\ADC_project1\Debug/../ACD_SOURCE.c:115: undefined reference to `_imp__HRDLGetUnitInfo@16'

C:\Users\Falamana\Desktop\Eclipse\ADC_project1\Debug/../ACD_SOURCE.c:167: undefined reference to `_imp__HRDLGetUnitInfo@16'

最佳答案

在我的例子中,它有助于将 -mwindows 标志添加到链接器选项。

关于c - 使用 mingw 对 imp 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37660415/

相关文章:

C 图灵机无限循环

无法理解输入 3 的 switch 语句的输出

c - 我需要一些新的博客来帮助学习我的新语言(它是 C)

java - 在 Eclipse 中调试时查看设置变量值的位置

windows - 在批处理文件中使用不同驱动单元的问题

c++ - WinAPI:如何确定网络何时正在识别?

C编程查找表

java - 找不到包 android.bluetooth

javascript - jshint 忽略 :line with Eclipse issue

c++ - 将 WebRTC (AudioTrackSinkInterface) 原始音频写入光盘