【问题标题】:Building Thor SFML Extension with CMake Error使用 CMake 错误构建 Thor SFML 扩展
【发布时间】:2014-10-05 03:16:24
【问题描述】:

我正在尝试使用提供的 cmakeLists 构建 The Thor SFML 扩展。该项目配置并生成,但是当我运行 make 时,构建失败,因为它找不到包含文件。实际消息如下:

c:/Libs/Thor2.1/src/Action.cpp:26:33: fatal error: Thor/Input/Action.hpp: No such file or directory
 #include <Thor/Input/Action.hpp>
                                 ^
compilation terminated.
make[2]: *** [CMakeFiles/Project.dir/Action.obj] Error 1
make[1]: *** [CMakeFiles/Project.dir/all] Error 2
make: *** [all] Error 2

我已将构建目录设置为 /lib

我不确定 cmake 会导致什么。我正在使用与 SFML-2.1 兼容的提交。可以在 Thor 图书馆主页上找到它。

我检查了,有问题的文件确实存在。

【问题讨论】:

  • 能否请您说明重新创建您的案例的方法?

标签: c++ cmake sfml


【解决方案1】:

不确定,您失败了哪一步,但在配置 Thor 库时手动设置 SFML_ROOTSFML_INCLUDE_DIR 对我来说效果很好。这样做的一个例子:

cmake -DSFML_ROOT=../../sfml/build/ -DSFML_INCLUDE_DIR=../../sfml/include ..

完整的步骤顺序:

# acquire proper version of Thor: 
git clone git://github.com/Bromeon/Thor.git
git checkout f57666db6f187eb57bbc0947456cce2159a9b617

# acquire proper version of SFML:
git clone https://github.com/LaurentGomila/SFML.git
git checkout 2.1

# build SFML:
mkdir ./SFML/build
cd ./SFML/build
cmake ..
make
cd -

# build Thor:
mkdir ./Thor/build
cd ./Thor/build
cmake -DSFML_ROOT=../../SFML/build/ -DSFML_INCLUDE_DIR=../../SFML/include ..
make

【讨论】:

  • 我在尝试生成 makefile 时遇到这些错误:
  • 我一直收到同样的错误,cmake 似乎找不到包含路径。
  • @Cayleus 你试过手动设置SFML_INCLUDE_DIR 路径吗?
猜你喜欢
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-30
  • 2020-06-07
  • 1970-01-01
相关资源
最近更新 更多