gpt4 book ai didi

c++ - MSVS 2015 构建 dll - MSVCRTD.lib (exe_main.obj) 中 invoke_main 中未解析的外部符号 _main

转载 作者:行者123 更新时间:2023-11-28 05:37:07 26 4
gpt4 key购买 nike

我想编译一个 DLL 并在我的项目中使用它。 (它必须是一个 DLL,因为我正在使用 Windows Hooks 并且它必须在运行时加载)。有关详细信息,它使用 Nuget 的 Allegro 5。

当我尝试构建我的 DLL 时出现以下错误:

LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) in file MSVCRTD.lib (exe_main.obj)

由于配置问题,我现在已经多次重新创建项目。我的最新迭代是使用多线程调试 DLL 运行时构建的 Win32 窗口应用程序和 DLL - 我已经尝试了所有其他选项,但其余选项均无效。

我不明白为什么要搜索 main:它是一个 DLL。我没有提供 DLLMain,因为我知道这不是必需的,因为 MSVS 会为您提供。

尝试编译我的 DLL 时如何解决此构建问题?

编辑解决方案是#define ALLEGRO_NO_MAGIC_MAIN。除非您定义 ALLEGRO_NO_MAGIC_MAIN,否则 Allegro 库需要一个 main 函数。问题解决了。

最佳答案

解决方案是在包含 Allegro 5 header 之前#define ALLEGRO_NO_MAGIC_MAIN。 Allegro 期望看到一个 main 函数,这就是链接器寻找它的原因。

关于c++ - MSVS 2015 构建 dll - MSVCRTD.lib (exe_main.obj) 中 invoke_main 中未解析的外部符号 _main,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37999725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com