C++ 编译器/链接器未使用.manifest文件
一些背景: 我在代码中使用C++语言:Windows 10中的块IDE。通常,当我安装Code::Blocks时,我使用mingw安装构建,这样我就可以直接开始编程了。因此,我没有设置编译器之类的经验。最近一个朋友让我为他做一个节目,所以我接受了他,并决定开始工作。当构建它的时候,它不起作用了,我知道编译器已经过时了,所以我换了一个新的 问题: 当我试图用新的编译器为我的朋友制作程序requireadministrator perms时,我制作了正常的清单文件。程序已经构建,一切都很好,但我意识到我的程序不需要管理员权限。我去我的旧编译器看看我是否把事情弄糟了,而我没有,新的编译器只是不能处理清单文件 我以前能够做的事情: 以前,在我更改编译器之前,我能够将name.exe.manifest文件与name.exe文件放在同一个文件夹中,构建它,然后我就成功了。现在,即使把它放进文件夹,它也不起作用 问题:C++ 编译器/链接器未使用.manifest文件,c++,windows,codeblocks,manifest,msys2,C++,Windows,Codeblocks,Manifest,Msys2,一些背景: 我在代码中使用C++语言:Windows 10中的块IDE。通常,当我安装Code::Blocks时,我使用mingw安装构建,这样我就可以直接开始编程了。因此,我没有设置编译器之类的经验。最近一个朋友让我为他做一个节目,所以我接受了他,并决定开始工作。当构建它的时候,它不起作用了,我知道编译器已经过时了,所以我换了一个新的 问题: 当我试图用新的编译器为我的朋友制作程序requireadministrator perms时,我制作了正常的清单文件。程序已经构建,一切都很好,但我意识
- 是否有任何MSYS2软件包可用于修复此问题
- 到底是什么问题
- 我怎样才能防止将来发生这种情况
- 除了MSYS2软件包之外,我还可以如何修复此问题
- 与Code::Blocks one相比,我的自定义构建中的一些文件丢失了,如果我将它们复制到我的构建中,它会工作吗
- 我已尝试将清单文件放在几个不同的文件夹中
- 我已尝试更改链接器设置以包括“-o Dir/SubDir/Manifest”
- 我已经尝试让链接器搜索不同的目录
- 我试着研究这个问题,四处打听。(我的结论是编译器/链接器有问题,或者我没有需要的文件
MSYS2编译器(自定义编译器):
*如果您看一下,与我的构建相比,普通代码::Blocks Mingw编译器的bin目录相形见绌
==========================================================================
我很乐意回答您的任何问题!这是64位版本吗?如果是,您可能需要processorArchitecture=“*”
在您的清单文件中。@PaulSanders是,但我的清单文件与旧编译器一起使用,是一个64位编译器。虽然我可以尝试添加它,但您建议我将它放在哪里?以代替processorArchitecture=“X86”
。无论如何,值得一试。不,这似乎不能解决问题,我确实有大量的库,这可能是问题吗?我不这么认为。您可以尝试将清单作为资源嵌入(我就是这么做的),请参阅:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="NAME HERE"
type="win32"/>
<description>DESCRIPTION HERE</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>