Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在cmake中为code::blocks编译SFML2.2_C++_Cmake_Codeblocks_Sfml - Fatal编程技术网

C++ 如何在cmake中为code::blocks编译SFML2.2

C++ 如何在cmake中为code::blocks编译SFML2.2,c++,cmake,codeblocks,sfml,C++,Cmake,Codeblocks,Sfml,我对新的sfml有一个很大的问题,我花了一天的时间试图解决它。我终于发现我需要用cmake编译它。最大的问题是,cmake一直在请求CMakeLists.txt,但它不在那里。请帮助我,我只想开始用sfml编码。我正在运行windows 8.1,如果您需要更多信息,请询问我,我会尽力提供给您。如果我把问题看错了,你能想出一个新的解决方案吗?在我看来,构建SFML最简单的方法是使用“MinGW Makefiles”CMake生成器和CMake GUI。因此,这里有一个关于如何以这种方式构建SFML

我对新的sfml有一个很大的问题,我花了一天的时间试图解决它。我终于发现我需要用cmake编译它。最大的问题是,cmake一直在请求CMakeLists.txt,但它不在那里。请帮助我,我只想开始用sfml编码。我正在运行windows 8.1,如果您需要更多信息,请询问我,我会尽力提供给您。如果我把问题看错了,你能想出一个新的解决方案吗?

在我看来,构建SFML最简单的方法是使用“MinGW Makefiles”CMake生成器和CMake GUI。因此,这里有一个关于如何以这种方式构建SFML的简短教程

准备您的开发环境 如果您的MinGW编译器的
bin
目录不在
PATH
中,您可以通过打开命令提示符(
Windows Key
+
R
并输入
cmd
+
enter
)临时添加它:

设置路径=\bin;%路径%

接下来,您可以通过键入
cmakegui
从命令提示符启动cmakegui。如果CMake的
bin
目录尚未添加到
路径
,我强烈建议您采用与上述类似的方式进行添加

然后设置SFML的路径和的生成路径,我通常只使用子目录
build\

设置CMake 然后按
Configure
按钮并选择
MinGW Makefiles
生成器

注意:如果使用MSYS,则需要使用
MSYS Makefiles
生成器

作为下一步,您可以更改各种CMake变量。有关这些选项的完整说明,请参见。其中一个重要的部分是更改
CMAKE\u INSTALL\u前缀
,因为默认的CMAKE值会导致权限问题,并且实际上不希望在那里安装库文件。另外,不要选择构建目录,否则安装将以混乱告终。我个人更喜欢使用子目录
/install

在您更改了想要更改的所有内容后,可以单击
Generate
,您应该可以完成这两条消息

实际构建SFML

Cube只生成MaFrm文件和项目文件,因为SFML作为C++库还没有建立,因此我们需要下一步。为此,我们切换回命令提示符,并将目录更改为之前在CMake中设置的构建目录

由于我们希望将所有内容直接安装到先前指定的
CMAKE\u PREFIX\u INSTALL
目录,因此现在我们将运行makefile的
INSTALL
目标。此外,由于我们最有可能使用多核处理器,因此我们确实希望快速构建,从而利用
-jN
标志,其中
N
是一个整数,指定应使用多少线程。请记住,如果你为你的系统选择了一个太高的数字,这确实会冻结你的系统。输入命令
mingw32 make install-jN
,如下所示

注意:如果使用MSYS(或nuwen的MinGW编译器),则需要使用
make
而不是
mingw32 make

等待进程完成并检查
安装
目录

祝贺您成功构建了SFML


改为使用代码::块 如果您确实想要一个Code::Blocks项目文件,那么您可以重复上面的前几个步骤,但是选择CodeBlocks-MinGW MakefilesCMake生成器,而不是CMake生成器

如上所述调整设置,包括
CMAKE\u INSTALL\u PREFIX
并按下
Generate
按钮。生成所有内容后,可以在build目录中打开Code::Blocks项目文件

在Code::Blocks中,您可以轻松选择首选目标(建议安装)),然后单击build按钮

等待进程完成并检查
安装
目录


祝贺您成功构建了SFML

在我看来,构建SFML最简单的方法是使用“MinGW Makefiles”CMake生成器和CMake GUI。因此,这里有一个关于如何以这种方式构建SFML的简短教程

准备您的开发环境 如果您的MinGW编译器的
bin
目录不在
PATH
中,您可以通过打开命令提示符(
Windows Key
+
R
并输入
cmd
+
enter
)临时添加它:

设置路径=\bin;%路径%

接下来,您可以通过键入
cmakegui
从命令提示符启动cmakegui。如果CMake的
bin
目录尚未添加到
路径
,我强烈建议您采用与上述类似的方式进行添加

然后设置SFML的路径和的生成路径,我通常只使用子目录
build\

设置CMake 然后按
Configure
按钮并选择
MinGW Makefiles
生成器

注意:如果使用MSYS,则需要使用
MSYS Makefiles
生成器

作为下一步,您可以更改各种CMake变量。有关这些选项的完整说明,请参见。其中一个重要的部分是更改
CMAKE\u INSTALL\u前缀
,因为默认的CMAKE值会导致权限问题,并且实际上不希望在那里安装库文件。另外,不要选择构建目录,否则安装将以混乱告终。我个人更喜欢使用子目录
/install

在你改变了你想改变的一切之后