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
可能这是一个新手问题,但是,我不知道如何解决它。
我正在尝试使用 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