【发布时间】:2021-01-15 01:41:07
【问题描述】:
我有一个用 MinGW 编译的 Win32 项目。我想在这个程序中启用视觉样式而不需要外部清单。
对于 MSVC,这显然可以通过以下编译指示完成:
#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
但是,GCC (MinGW) 不支持这样的编译指示。有没有办法让我用 MinGW 模仿这个编译指示的行为?
【问题讨论】:
-
MSVC 杂注只会导致链接器添加清单资源。如果您不使用清单,那么您需要使用运行时链接和激活上下文来加载 comctl32 dll。我什至不知道这是否可能。即使是这样,这也是很多工作。已使用清单。
-
只需编写一个引用
.manifest文件的.rc文件,然后使用您想要的任何资源编译器将.rc文件编译成.res文件,然后指示MinGW 的链接器链接将.res文件与源代码的已编译目标文件一起放入您的最终可执行文件中。这基本上就是#pragma在幕后所做的,只是没有使用实际的.rc或.manifest文件。