Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为64位版本生成WxWidgets应用程序时出现Visual Studio 2019错误_C++_Visual Studio_Visual C++_Visual Studio 2019_Wxwidgets - Fatal编程技术网

C++ 为64位版本生成WxWidgets应用程序时出现Visual Studio 2019错误

C++ 为64位版本生成WxWidgets应用程序时出现Visual Studio 2019错误,c++,visual-studio,visual-c++,visual-studio-2019,wxwidgets,C++,Visual Studio,Visual C++,Visual Studio 2019,Wxwidgets,我使用Visual Studio Community 2019 for Windows和WxWidgets 3.1.5。在“开发者命令提示符FOVS2019”中,我用 >nmake /f makefile.vc RUNTIME_LIBS=static BUILD=release TARGET_CPU=X86 >nmake /f makefile.vc RUNTIME_LIBS=static BUILD=debug TARGET_CPU=X86 >nmake /f makefil

我使用Visual Studio Community 2019 for Windows和WxWidgets 3.1.5。在“开发者命令提示符FOVS2019”中,我用

>nmake /f makefile.vc RUNTIME_LIBS=static BUILD=release TARGET_CPU=X86
>nmake /f makefile.vc RUNTIME_LIBS=static BUILD=debug TARGET_CPU=X86
>nmake /f makefile.vc RUNTIME_LIBS=static BUILD=release TARGET_CPU=X64
>nmake /f makefile.vc RUNTIME_LIBS=static BUILD=debug TARGET_CPU=X64
当我尝试使用
/MT
和x86调试或发布配置构建应用程序时,我没有错误,但当我尝试使用x64编译器构建应用程序时,调试和发布在“types.h”文件中给我此错误:

只能在int、long和pointer类型中指定错误E1256\uu w64


如何修复它?

也许在大约1,30小时后我发现了问题,我想我可以找到解决方案,问题是WxWidgets构建,出于某种原因,我不太明白,应该以64位编译的库是以32位编译的,我不知道这是否是真正的问题,但它可能仍然是其中的一部分。通过一些研究,我发现了一些以前隐藏的错误信息:
“1>C:\Downloaded\u Libraries\WxWidgets\WxWidgets-3.1.5\u Static\lib\vc\u x64\u lib\wxmsw31ud\u gl.lib:警告LNK4272:库计算机的“x86”类型与目标计算机的“x64”类型冲突“

,听起来你所有的目标都指向同一版本的wxwidgets。我不知道,实际上我描述了我用来构建wxwidgets的命令,因为我认为它们可能有助于理解问题并解决问题。更重要的是你如何告诉你的应用程序wxwidgets的位置。我使用了一个环境变量(WXWIN)错误应该在“WXWIN\include\wx\types.h”文件的第374行。此错误消息表示x64库是用x86I编译的。我不知道这是否是真正的问题。是的,这是真正的问题。这意味着您正在混合32位和64位。您不能这样做,因此需要为您的应用程序使用正确的wxWidgets二进制文件。也就是说,如果应用程序是32位的,那么wxWidgets必须是32位的。x64也是如此。@drescherjm,我知道,但我以为我已经用64位配置构建了x64库,但听起来好像我错了