使用CMake错误构建Thor SFML扩展

时间:2014-10-05 03:16:24

标签: c++ cmake sfml

我正在尝试使用提供的cmakeLists构建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

我已将build dir设置为/ lib

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

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

1 个答案:

答案 0 :(得分:-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