【发布时间】:2016-06-10 16:30:23
【问题描述】:
所以我需要一个防白痴的应用程序。 我已经完成了,但是当我尝试在裸 Windows 7 虚拟机中运行它时,我遇到了很多错误,例如缺少 msvcp140.dll 等等。 所以我正在搜索谷歌以静态链接这些。 我发现我应该在项目代码生成选项中更改它,所以我做到了。 我也有静态链接的 SFML。 问题是我收到很多引用 SFML 的链接器错误,例如:
sfml-system-s.lib(String.cpp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in main.obj
我不知道为什么会这样,所以我在这里寻求帮助
【问题讨论】:
-
最简单的方法是用另一个编译器编译它(参见 SFML 网站上的说明),这样您就不需要 Visual Studio 编译器需要的那些微软库。或者只是将这些 .dll 包含在您的应用程序中,假设您不仅限于可执行文件。
-
@Noctiphobia 问题是我需要使用 Visual Studio,因为我的应用程序同时使用 SFML 和 winapi(winapi 用于定义 sfml 窗口的外观)所以我现在需要使用 Visual Studio 我只是想生病使用 cmake 重新编译 sfml 但我找不到编译器 anc cxx 未找到编译器,我不知道为什么但我会尝试弄清楚
标签: c++ visual-studio static linker sfml