网站ui外包,海淀网站制作,影视公司和传媒公司的区别,wordpress汉字验证码文章目录 1.概述2.环境准备2.1 安装编译工具2.2 安装CMake 3.编译一个示例程序总结 1.概述
本人一直对OpenGL的3d渲染很感兴趣#xff0c;但是苦于自己一直是Android开发#xff0c;没有机会接触这方面的知识。就在最近吗#xff0c;机会来了#xff0c;以前一个做3D渲染的… 文章目录 1.概述2.环境准备2.1 安装编译工具2.2 安装CMake 3.编译一个示例程序总结 1.概述
本人一直对OpenGL的3d渲染很感兴趣但是苦于自己一直是Android开发没有机会接触这方面的知识。就在最近吗机会来了以前一个做3D渲染的同事要离职而公司暂时又招不到合适的人而我懂点jni和C所以就先拉过来凑数了。但是一旦投入咱们就得好好的整一把。所以想先熟悉学习下Cmake的构建工具因为接手到的项目jni部分使用CMake辅助构建的所以学好Cmake构建工具是很有用的。而且渲染基本使用的都是C/C,所以我觉得C/C不能没有Cmake,就如Android不能没有Gradle.本文主要是介绍在windows上搭建CMake的构建环境并基于MinGW编译工具编译跑通一个C程序并且提供给读者学习CMake的方法。并鼓励读者那能够使用博客的方式将自己的理解记录下来否则过一段时间就忘了本文的最重要的目的也是防止自己忘掉。故记录一下。
2.环境准备
2.1 安装编译工具
如果咱们使用的是Linux学习CMake,需要先安装gcc,make工具以Ubuntu为例安装的命令如下所示
sudo apt install gcc g make本文所使用的环境是Windows所以我们也需要先安装编译工具本文使用的MinGW工具。这个工具可以使我们像操作Linux那样在Windows的命令行为所欲为下载地址为MinGW工具下载地址 下载界面如下所示 下载完成后解压到你想放的目录比如我放在了下面的路径
C:\Program Files (x86)\w64devkit然后找到刚才解压文件的bin目录我的是
C:\Program Files (x86)\w64devkit\bin配置到环境变量 配置完后打开命令行CMD验证下是否成功如下图所示 输入Linux命令ls 如果没有报错就表示配置成功了。
2.2 安装CMake
如果是Ubuntu,安装CMake只需要运行下面的命令即可
sudo apt install cmake假如我们使用的是windows需要去CMake的官网下载安装包CMake工具下载地址下载的页面如下 下载成功后点击安装这里需要注意的是当安装的引导页面中弹出选项时为了方便咱们需要勾选上下图中的选项这个选项会将CMake工具添加到环境变量方便我们全局使用 安装完成后检验下是否安装成功在cmd命令行输入命令 cmake --version 如果能出现上图中的信息就表示Cmake工具配置成功了
3.编译一个示例程序
在CMake官网其实给我们准备了练习CMake工具的练习题,我们只要下载下来跟着官网文档一步步做就行了。CMake官网教程地址 我们打开这个地址页面如下所示 下载完解压后会得到一个目录如下所示 每个Step就代表一个练习例如打开Step1如下 这时候我们打开里面的CmakeLists.txt发现里面有一些步骤我们只要按照这些步骤和官方文档操作就能编译出我们想要的C/C产物文件打开后页面如下 我们跟随这个步骤修改一个例子并运行试试 首先我们修改CMakeLists.txt中的内容如下所示
# TODO 1: Set the minimum required version of CMake to be 3.10
cmake_minimum_required(VERSION 3.10)
# TODO 2: Create a project named Tutorial
project(Tutorial)# TODO 7: Set the project version number as 1.0 in the above project command# TODO 6: Set the variable CMAKE_CXX_STANDARD to 11
# and the variable CMAKE_CXX_STANDARD_REQUIRED to True
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)# TODO 8: Use configure_file to configure and copy TutorialConfig.h.in to
# TutorialConfig.h# TODO 3: Add an executable called Tutorial to the project
# Hint: Be sure to specify the source file as tutorial.cxx
add_executable(Tutorial tutorial.cxx)# TODO 9: Use target_include_directories to include ${PROJECT_BINARY_DIR}然后我们修改tutorial.cxx文件中的对应步骤内容
// A simple program that computes the square root of a number
#include cmath
//#include cstdlib // TODO 5: Remove this line
#include iostream
#include string// TODO 11: Include TutorialConfig.hint main(int argc, char* argv[])
{if (argc 2) {// TODO 12: Create a print statement using Tutorial_VERSION_MAJOR// and Tutorial_VERSION_MINORstd::cout Usage: argv[0] number std::endl;return 1;}// convert input to double// TODO 4: Replace atof(argv[1]) with std::stod(argv[1])const double inputValue std::stod(argv[1]);// calculate square rootconst double outputValue sqrt(inputValue);std::cout The square root of inputValue is outputValue std::endl;std::cout c: __cplusplus std::endl; // 新增代码打印C版本return 0;
}
保存后退出找到我们存放Step1的目录在目录下新建一个build目录存放编译产物。 然后在这个目录下打开命令行进入build目录下执行命令
cmake -G MinGW Makefiles ..注意后面的两个点不能忘掉这两个点代表上一级目录这里就是要指定CMakeLists.txt文件所在的目录。 执行成功界面如下 此时我们刚才新建的build目录下会生成几个编译文件 这时我们再运行命令cmake --build . 生成可执行的文件这里的点也不能忘记这里的点代表当前目录.
执行完命令后我们会发现多了一个可执行的exe文件 我们可以运行这个可执行文件验证下结果输入Tutorial.exe 100 正确执行并输出了了C 中的程序想要输出的信息
补充说明 上面编译Step1时需要使用命令cmake -G MinGW Makefiles .. 有读者可能会觉得这个命令比较难记特别时后面一长串参数为了解决这个问题我们可以根据官方文档配置一个环境变量
新建一个系统环境变量将参数配置上去 保存后我们直接使用命令cmake .. 就可以编译C 项目了。
总结
上面介绍的内容其实官网都详细的介绍了这里之所以写一篇文章是因为我想加入自己的理解记录下我的学习过程另外想给一些新手小伙伴一个学习CMake构建工具的方向和方法建议读者多看官网的教程博客只是做个辅助吧主要看下如何入门就好了。有问题可以在评论区一起交流。