Gra*_*her 1 c c++ visual-c++-6 linker-errors
使用 Microsoft Visual C++ 6.0 编译 C++ 时有时会出现这样的链接错误:
error LNK2001: unresolved external symbol __imp__close
error LNK2001: unresolved external symbol __imp__read
error LNK2001: unresolved external symbol __imp__lseek
error LNK2001: unresolved external symbol __imp__open
我使用谷歌搜索了很长时间但毫无结果后发现,我的修复是这样的:
不要禁用语言扩展。在“项目设置”对话框的“C/C++”选项卡中,确保未选中“禁用语言扩展”复选框。
函数 close、read、lseek、open 等不是 C 库的标准部分,并且使用#if !__STDC__in的条件编译会跳过这些声明<io.h>。如果您禁用语言扩展,就会发生这种情况。
答案是 __imp 前缀指的是 CRT DLL 版本的 OBJ 库中的函数存根。这意味着您的链接器选项与编译器选项不兼容(链接器设置为静态 CRT 或无 CRT,编译器设置为动态 CRT)。
在你的例子中,它不是 CRT 本身,而是另一个库,但想法相同。
| 归档时间: |
|
| 查看次数: |
5035 次 |
| 最近记录: |