【问题标题】:how to make my executable not rely on sfml dll files [c++] [minGW] [g++]如何使我的可执行文件不依赖于 sfml dll 文件 [c++] [minGW] [g++]
【发布时间】:2021-10-02 15:58:52
【问题描述】:

也许我可以通过将它们链接到 exe 来“创建”这些必要的文件,并在程序启动时将它们存储在临时文件夹中,如果可能的话,请问如何?我尝试过使用编译器选项,但似乎没有任何效果。

【问题讨论】:

标签: c++ g++ mingw sfml


【解决方案1】:

为了使您的可执行文件不依赖 DLL 文件,您应该静态链接它们。 SFML 通过使用他们的“sfml-xxx-s-d.lib”(用于调试)和“sfml-xxx-s.lib”(用于发布)库为您提供该选项,如文档中所述。

如果您想摆脱这些 DLL 并直接集成 SFML 到您的可执行文件中,您必须链接到静态版本。静态 SFML 库具有“-s”后缀:“sfml-xxx-s-d.lib”用于调试,并且 “sfml-xxx-s.lib”用于发布。在这种情况下,您还需要定义 项目预处理器选项中的 SFML_STATIC 宏。

注意:“xxx”代表您尝试包含到项目中的文件的名称

关于如何在 VisualStudio 中设置 SFML 的完整文档:https://www.sfml-dev.org/tutorials/2.5/start-vc.php

希望这回答了您的问题! :)

【讨论】:

  • 哦,哇,谢谢你,我把一切都做好了,哎呀,我很笨。我在 minGW 上直接安装了 sfml,这似乎不是你需要做的,之后我只是将所有必要的库包含到编译器设置中,它就可以工作了。干杯!
猜你喜欢
  • 2015-09-18
  • 1970-01-01
  • 2018-08-31
  • 2015-05-24
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 2020-03-18
  • 1970-01-01
相关资源
最近更新 更多