【发布时间】:2017-10-26 14:21:05
【问题描述】:
所以我试图在我的 Windows 笔记本电脑上运行一个示例 SFML 程序。如果相关,源代码在this page.
所以首先我使用这个命令制作 .o 文件 -
g++ -c a.cpp -ISFML/SFML/include
其中a.cpp为主文件,我的SFML包位于SFML/SFML。
然后我用这个命令编译-
g++ a.o -o a -LSFML/SFML/lib -lsfml-graphics -lsfml-window -lsfml-system
当我第一次运行程序时,我得到了关于无法找到某些 dll、sfml-graphics-2 等的错误。所以我找到了它们并将它们放在 exe 旁边。但是现在当我运行时,我得到了这个奇怪的错误:
过程入口点 _ZNSt7__cxx1112basic_stringSt11char_traitsIcESalcEE7reserveEj 在动态链接库中找不到。
这是怎么回事?
【问题讨论】:
-
如果通过在命令行中添加
-std=c++11来启用编译到 C++11 标准会发生什么? -
您是否为您的编译器使用了正确的库和 dll?这听起来更像是您使用了不正确的。
-
@Rosme 这是从官网下载的windows 32
-
正如the SFML download page 所说以及@Rosme 所要求的,操作系统不是主要问题。您可能使用了错误版本的编译器、一些旧的 SFML 库等。最坏的情况是,如果您的编译器未在其中列出,您必须自己编译 SFML。
-
@Chringo 如果你不介意帮助我,我将如何自己编译 sfml
标签: c++ windows g++ mingw sfml