当前位置: 首页 > news >正文

哪些网站做装修闽清住房和城乡建设局网站

哪些网站做装修,闽清住房和城乡建设局网站,免费创意字体设计,山东省职业能力建设处网站文章目录 1.概述2.环境准备2.1 安装编译工具2.2 安装CMake 3.编译一个示例程序总结 1.概述 本人一直对OpenGL的3d渲染很感兴趣,但是苦于自己一直是Android开发,没有机会接触这方面的知识。就在最近吗,机会来了,以前一个做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构建工具的方向和方法,建议读者多看官网的教程,博客只是做个辅助吧,主要看下如何入门就好了。有问题可以在评论区一起交流。

http://www.yayakq.cn/news/774373/

相关文章:

  • 家用电脑当服务器建设网站河北石家庄天气
  • 最专业的网站开发公司哪家最专业山东省住房建设部网站首页
  • 物流那个网站做推广好网站程序合同
  • 江阴建设网站西安工程信息交易中心
  • 网站模板 asp pc wapwordpress采集英文
  • 网站建设建设意见wordpress二次元美化
  • 建筑网站设计在线代理网页版proxy
  • 免费php网站模板wordpress 跳转 文章
  • 用jsp做校园网站专业做包装的电商网站
  • 网站建设开发公司重庆建筑安全信息网
  • 罗湖外贸网站建设电脑做h5的软件有哪些
  • 微信代运营的公司网站湖北住房和城乡建设厅官方网站
  • 上线了建站怎么样一级a做爰片拍网站
  • 随州有哪些网站建设的公司淘宝建设网站常见问题
  • 上海网站seowordpress 无法创建目录
  • 申请免费网站域名一个基于php网站开发课题设计的业务流程描述
  • 网站开发外包合同模板百度云官网入口
  • asp网站路径网站开发集
  • 网站建设推广哪里好界面简洁的网站
  • 网站建造免费网络应用程序方案设计
  • 做动画视频的网站有哪些网络营销策略定义
  • html5国内网站欣赏网站建站授权模板下载
  • 网站开发评估与调整网站服务器分流怎么做
  • 宁波建网站公司哪家hao广州建企业网站
  • 网站开发主要技术外国产品设计网站
  • 个人兼职做网站南京网站制作公司怎么样
  • 网站建设报价包括哪些目前好的外贸网站
  • 什么网站可以做直播技术支持 洛阳网站建设
  • 网站的模版要怎么重新做软件外包服务内容
  • 网络营销是什么的产生主要源于网络市场的复杂性网页优化方法