C++ 在VisualStudio中使用/MT标志编译SFML
我正在使用Visual Studio 2012,我想用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
/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选项,效果很好。如果你能写一个简短的回答,我会把它标记为接受。