我正在尝试成功编译Qt应用程序而没有任何错误,错误和类似的东西!首先,我将解释什么是根本错误。我离解决方案太近了,但是我的面前还有另一个! Qt是一个基于x32位的程序。那是不变的,我有一个基于x64位的系统。当我在QtCreator中构建项目时,出现以下错误:“模块机器类型'x64'与目标机器'x86'冲突”,我最近对此进行了解释。 x86=x32
我试图修复它。我发现了上述错误的解决方案,但在修复该错误时又遇到了另一个问题。 APPCONTAINER已以某种方式打开!(默认情况下必须关闭)。 APPCONTAINER是在link.exe内部定义的宏。因此,它给了我这个错误:0xc000a200,对于COM类(.exe文件)而言:“此操作仅在应用程序容器的上下文中有效”。意味着APPCONTAINER已打开!
我尝试了太多更改它的方法。我尝试使用命令qmake.exe和jom.exe显式更改它(在构建项目时)。 他们都没有工作。之后,我将模板更改为默认的“ vcapp”而不是“ app”,这将为我创建一个Visual Studio项目(因此我可以使用MSBuild命令来构建它)。 我试图使用力量更改APPCONTAINER,所以我有一个想法,那就是创建一个可用于Visual Studio项目的“ .props”文件! 所以,我在“ .props”文件中写了这个:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Link>
<APPCONTAINER>false</APPCONTAINER>
</Link>
</ItemDefinitionGroup>
</Project>
仅需注意,所有这些争斗都是在传递此命令后在cmd内发生的,该命令定义了我在构建Qt应用程序"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
之前所需的一切。
当然,我不能以任何方式将任何MSVC编译器添加到Qt中,只有自动检测到的才可以分配到工具包中。因此,我不得不使用cmd而不是QtCreator GUI!