【发布时间】:2021-05-08 12:18:45
【问题描述】:
使用 MSVC2019 链接我的 win32 应用程序时,我收到错误消息
Error LNK2019 unresolved external symbol __except_handler4_common
SO #31867018 很久以前就解决了这个问题,但答案是确保在 Props->C/C++->CodeGeneration->RuntimeLibrary 中指定了 /MTd。我的应用确实指定了 /MTd,所以我无法理解这个问题。
我可以通过在我的应用中包含此函数的空版本来消除此错误,例如,
void _except_handler4_common(void){}
但我不喜欢这种粗俗的黑客行为:(
【问题讨论】:
-
该符号只能出现在使用 /MD 编译的代码中。中断异常处理不是一个好主意。通常它是您链接的库中的代码,请考虑对所有代码采用 /MD。链接器的 /verbose 选项会很有帮助。
-
汉斯,不能对所有代码使用 /MD - 它会破坏其他内容,但感谢您的评论
-
汉斯,放大:我的项目使用了一些我没有源代码的第三方库。