libtiff 构建对“_imp__TIFFOpen”错误的未定义引用

libtiff build undefined reference to `_imp__TIFFOpen' error

可能这是一个新手问题,但是,我不知道如何解决它。

我正在尝试使用 libtiff 构建测试程序(从 here 复制的测试程序)。我已经下载了静态库 libtiff.lib 以及所需的头文件 tiffio.h。当我毫无问题地编译主要的 c 函数时,我有一个 main.o 文件。当我尝试使用此命令 link main.o 和 libtiff

gcc -g -Wall -o test.exe ./libtiff.lib ./test.o

我有这个错误:

undefined reference to `_imp__TIFFOpen'

我用 nm -A libtiff.lib 命令查看了 lib 文件,我可以找到这一行

libtiff.lib:libtiff3.dll:00000000 I __imp__TIFFOpen

但它有 2 个前导下划线,而不是 linker 要求的 1 个。 我在 Windows 7 上使用 mingw,所有需要的文件都在同一目录中。

不知道如何 link 没有错误。

提前致谢。

正如评论中所建议的,反转作为参数传递的对象的顺序就足够了:

gcc -g -Wall -o test.exe ./test.o ./libtiff.lib