如何解决 LNK2019 未解决的外部 __imp____iob_func

Posted

技术标签:

【中文标题】如何解决 LNK2019 未解决的外部 __imp____iob_func【英文标题】:How to solve LNK2019 unresolved external __imp____iob_func 【发布时间】:2021-06-13 04:41:39 【问题描述】:

尝试使用 Gsl 库 v1.13 将旧的 Visual Studio 2008 x86 项目与 Visual Studio 2019 链接,我在链接步骤中收到此错误:

LNK2019 symbole externe non résolu __imp____iob_func référencé dans la fonction _gsl_error

选项与 Visual Studio 2008 项目中的相同,并且已经在此链接中尝试了以下几点: unresolved external symbol __imp__fprintf and __imp____iob_func, SDL2

如果有人有想法并且可以提供帮助? 谢谢

【问题讨论】:

那个.lib 是用严重过时的编译器#include 文件构建的,你不能再将它链接到当前的标准C 库。需要重建库,当然对于开源库来说没什么大不了的。 【参考方案1】:

__iob 和 __printf 是包含在 stdio 库中的符号。

在我看来,标准 libc 库并没有静态链接到您的新可执行文件。

试试这个:

配置新项目静态链接libc库

【讨论】:

恐怕我不太了解所以我指定了项目的构成。 Main Executable (AA) + 指的是中间静态库 (BB) + 指的是 gsl v1.13 static lib build 十年前似乎 (CC) 我可能正在寻找将主可执行文件 (AA) 与Visual Studio 2019 下的标准 libc 库,但找不到准确的信息。为了不误导我的主角是静态链接的,能不能给我确认一下,需要和标准库(AA)、(BB)或者(CC)链接?

以上是关于如何解决 LNK2019 未解决的外部 __imp____iob_func的主要内容,如果未能解决你的问题,请参考以下文章

glCubicRayCast.obj : error LNK2019: 无法解析的外部符号 __imp__glewInit,该符号在函数 _main中被引用

错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 解决方法

qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 __imp_CommandLineToArgvW,该符号在函数 WinMain 中被引用

error LNK2019: 无法解析的外部符号 __imp_recv,该符号在函数 evthread_notify_drain_default 中被引用

error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportW

c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法