在耗尽 MinGW w64 和 CMake 中的所有选项后,如何修复对 __imp_Win<Function> 的未定义引用?

问题描述 投票:0回答:0

我花了几天时间尝试通过 MSYS2 在 CMake 中静态链接 Win32 库,特别是 winhttp。我已经使用了

-lwinhttp
甚至
-lwininet
,并尝试通过
-L
add_link_options
target_link_options
add_compile_options
指定路径(使用
target_compile_options
)。
undefined reference to __imp_WinHttp<Function>
错误仍然存在。在撰写本文时,我正在 Windows 10 最新版本上使用 gcc 编译 C Win32 程序。请注意,我是从 Windows 环境执行的,而不是任何 MSYS2 环境。

虽然我在这里,但我也无法按照其他地方的建议指定

wmain
和/或
wWinMain
时使用
-municode
-mwindows
。这可能有助于确定直接问题,但我不确定它是否相关。

我错过了什么?我什至应该寻找什么?从 ld 的文档中并不清楚还可以做什么,并且将

--verbose
添加到编译选项似乎并没有提供超出其已经说明的有用信息。我对这些构建工具并不是非常熟悉,因为直到现在我还没有进行任何类型的链接。我不清楚如何正确地探测这些工具以获取解决此问题所需的信息,更不用说找到它了。

cmake environment-variables linker-errors mingw-w64 msys2
© www.soinside.com 2019 - 2024. All rights reserved.