Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.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++ 在VisualStudio中使用/MT标志编译SFML_C++_Visual Studio_Compiler Construction_Windows Runtime_Sfml - Fatal编程技术网

C++ 在VisualStudio中使用/MT标志编译SFML

C++ 在VisualStudio中使用/MT标志编译SFML,c++,visual-studio,compiler-construction,windows-runtime,sfml,C++,Visual Studio,Compiler Construction,Windows Runtime,Sfml,我正在使用Visual Studio 2012,我想用/MT编译器标志而不是Visual Studio默认的/MD编译我的图形应用程序,它使用SFML框架。这可以在配置->C/C++->代码生成->运行库的项目设置中设置。上述标志控制是动态(/MD)还是静态(/MT)链接Windows运行时库 仅在我自己的应用程序的项目文件中更改此设置会导致链接器错误,因为在SFML中RuntimeLibrary的值设置为MD\u DynamicRelease,但在我的项目中它是MT\u StaticRelea

我正在使用Visual Studio 2012,我想用
/MT
编译器标志而不是Visual Studio默认的
/MD
编译我的图形应用程序,它使用SFML框架。这可以在
配置->C/C++->代码生成->运行库的项目设置中设置。上述标志控制是动态(
/MD
)还是静态(
/MT
)链接Windows运行时库

仅在我自己的应用程序的项目文件中更改此设置会导致链接器错误,因为在SFML中
RuntimeLibrary
的值设置为
MD\u DynamicRelease
,但在我的项目中它是
MT\u StaticRelease
。因此,我需要使用/MT标志编译SFML。我使用CMake创建了VisualStudio项目文件,但在项目设置中,设置要少得多。关键是甚至没有一个类别
Configuration->C/C++

那么,如何找到选项页或手动设置
/MT
标志呢


(顺便说一句,选项页面的名称可能并不完全正确,因为我将它们从我使用的Visual Studio的德语版本翻译过来。)

随SFML提供的CMake脚本带有一个静态链接运行库的选项(SFML_use_STATIC_STD_LIBS).

随SFML提供的CMake脚本提供了一个静态链接运行库的选项(SFML\u使用\u静态\u标准\u库)。

SFML CMake脚本应该已经提供了一个静态链接运行库的选项(SFML\u使用\u静态\u标准\u库)。您只能获得“较少的设置”当您没有在“解决方案资源管理器”窗口中选择项目,而是选择源文件时。确保在项目上单击鼠标右键并选择“属性”/在SFML中选择MD有一个很好的理由。顺便说一句,当您使用/MT进行构建时,您确实应该构建一个静态库,而不是DLL。尽管您可能在VS2012中不使用它。@HansPassant。可用设置较少,我已打开项目设置。无论如何,我感兴趣的是SFML使用/MD的好理由是什么。我希望我的应用程序被构建为可执行文件。@Andreitta。谢谢,我使用了CMake选项,效果很好。如果您想写一个简短的回答,我会将其标记为已接受。SFML CMake脚本应该已经提供了一个静态链接运行库的选项(SFML_USE_STATIC_STD_libs)。当您没有在解决方案资源管理器窗口中选择项目,而是在源文件中选择项目时,您只能获得“较少的设置”。确保在项目上单击鼠标右键并选择“属性”/在SFML中选择MD有一个很好的理由。顺便说一句,当您使用/MT进行构建时,您确实应该构建一个静态库,而不是DLL。尽管您可能在VS2012中不使用它。@HansPassant。可用设置较少,我已打开项目设置。无论如何,我感兴趣的是SFML使用/MD的好理由是什么。我希望我的应用程序被构建为可执行文件。@Andreitta。谢谢,我使用了CMake选项,效果很好。如果你能写一个简短的回答,我会把它标记为接受。