c - libtiff 构建对 `_imp__TIFFOpen' 错误的未定义引用
问题描述
可能这是一个微不足道的新手问题,但是,我不知道如何解决它。
我正在尝试使用(从此处libtiff
复制的测试程序)构建一个测试程序。我已经下载了静态库以及所需的头文件。当我编译主 c 函数没有问题时,我有一个文件。当我尝试使用此命令链接 main.olibtiff.lib
tiffio.h
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 个前导下划线,而不是链接器要求的 1 个。我在 Windows 7 上使用 mingw,所有必需的文件都在同一个目录中。
不知道如何链接没有错误。
提前致谢。
解决方案
正如评论中所建议的,颠倒作为参数传递的对象的顺序就足够了:
gcc -g -Wall -o test.exe ./test.o ./libtiff.lib
推荐阅读
- android - 如何使用推荐代码正确检查用户的登录状态?
- javascript - 在抓取功能之外初始化 Puppeteer 浏览器
- node.js - 为什么我仍然可以将 ObjectId 类型值分配给 Typescript 中的字符串数组?
- javascript - 嵌套 Javascript 对象不接受推送方法。TypeError:无法读取未定义的属性“推送”
- python - 选择前 10 个单词的问题,同时具有条件块单词列表
- python - 有没有办法区分回复你的人和使用 Tweepy 在 Twitter 上直接提及你的人?
- php - preg_replace 不适用于符号组
- python - Python如何在输入列表上平方?例如:输入:7,输出:[0, 1, 4, 9, 16, 25, 36, 49]
- node.js - 来自 docker 容器的声纳扫描仪,权限被拒绝
- go - 当我在转换“Id”后将 [] 字节解组为结构时出现 json 问题不正确