提问人:MaxC 提问时间:9/30/2020 最后编辑:MaxC 更新时间:9/30/2020 访问量:936
libtiff build undefined 引用“_imp__TIFFOpen”错误
libtiff build undefined reference to `_imp__TIFFOpen' error
问:
可能这是一个微不足道的新手问题,但是,我不知道如何解决它。
我正在尝试使用(从这里复制的测试程序)构建测试程序。我已经下载了静态库以及所需的头文件。当我毫无问题地编译主 c 函数时,我有一个文件。当我尝试使用此命令链接main.o时libtiff
libtiff.lib
tiffio.h
main.o
libtiff
gcc -g -Wall -o test.exe ./libtiff.lib ./test.o
我有这个错误:
undefined reference to `_imp__TIFFOpen'
我已经用命令查看了 lib 文件,我可以找到这一行nm -A libtiff.lib
libtiff.lib:libtiff3.dll:00000000 I __imp__TIFFOpen
但它有 2 个前导下划线,而不是链接器要求的 1 个。我在 Windows 7 上使用 mingw,所有必需的文件都在同一个目录中。
不知道如何链接没有错误。
提前致谢。
答:
1赞
MaxC
9/30/2020
#1
正如评论中所建议的,颠倒作为参数传递的对象的顺序就足够了:
gcc -g -Wall -o test.exe ./test.o ./libtiff.lib
评论
.lib
test.o