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

门户网站系统源码提供给他人做视频解析的网站源码

门户网站系统源码,提供给他人做视频解析的网站源码,wordpress智能插件,企业网站模板观叫湖南岚鸿团队一_变量设值: 在上一节中我们知道了如何去链接起来多个源文件并且生成可执行文件&#xff0c;但是当我们的源文件过多的时候会导致我们在add_executable里面写很长的一串&#xff0c;所以我们可以使用变量来进行设值: set(<variable> <value>... [PARENT_SCOPE])…

一_变量设值:

在上一节中我们知道了如何去链接起来多个源文件并且生成可执行文件,但是当我们的源文件过多的时候会导致我们在add_executable里面写很长的一串,所以我们可以使用变量来进行设值:

set(<variable> <value>... [PARENT_SCOPE]) variable:变量名 value:变量的值 [PARENT_SCOPE]:可选):
如果指定,变量将被设置到父作用域中(例如在函数中定义的变量可以在函数外使用)。
在set中可以用了给变量进行设置值的操作,一般值的类似都是字符串的类型。

我们直接来看使用set完善后的结果:

cmake_minimum_required(VERSION 3.0)#指定最低cmake版本的命令
project("cmake_learn")#定义工程名称
#--------------------------------------------------------------------------------
set(SRC_LIST div.cpp mul.cpp;sub.cpp;add.cpp main.cpp)
message("SRC_LIST is " ${SRC_LIST})
add_executable(cmake_lession2 ${SRC_LIST})#定义工程生成一个可执行文件

在这里我们给变量SRC_LIST设值的值就是后面跟着的那些div.cpp mul.cpp;sub.cpp;add.cpp main.cpp,这里我们可以看到可以使用空格或者;进行分隔,这里的message就类似一个输出语句,用来打印SRC_LIST里面的内容,在cmake中我们使用变量的值都是使用${}把变量框起来,当我们执行cmake ../后的结果如下:

从这里我们可以看出我们的message语句的输出结果可以在cmake 阶段进行打印。在实际的程序中,不同的团队或者个人的一些库的路径不同,我们再写cmakelists.txt的时候这些路径也不能写死,所以变量就给了我们很大的灵活性。这个我们后面是会经常使用到的。

二_源文件搜索:

        虽然变量的引入可以帮我们优化cmakelists.txt中对于源文件的使用,但是还是需要我们去一个一个的新增源文件,还是有点麻烦的。所以我们接下来介绍如何搜索源文件:

aux_source_directory(<dir> <variable>)
命令会扫描 <dir> 目录下的所有文件,将符合 CMake 默认支持的源文件扩展名(如 .c, .cpp, .cxx, .h 等)的 ​绝对路径 存储到 <variable> 变量中。

这个时候我们就可以把set那句话替换掉,然后将我们的源文件都放在一个新建的src的文件中:

#行注释
#[[块注
释]]
cmake_minimum_required(VERSION 3.0)#指定最低cmake版本的命令
project("cmake_learn")#定义工程名称
#--------------------------------------------------------------------------------
aux_source_directory(src SRC_LIST)
message("SRC_LIST is " ${SRC_LIST})
add_executable(cmake_lession2 ${SRC_LIST})#定义工程生成一个可执行文件#通过set函数设置编译器的版本
set(CMAKE_CXX_STANDARD 11)#增加c++11的标准 CMAKE_CXX_STANDARD是内置变量 所以可以在cmake的时候直接通过参数进行指定 cmake /path/to/cmakelists.txt -DCMAKE_CXX_STANDARD=11

然后我们重新编译,就会发现,报错了:

这是因为头文件的位置不对导致的。那么我们只需要包含下头文件即可:

include_directories(./include)

这里我们同样也是新建一个include文件然后将头文件放到include里面,然后在生成可执行文件之前加入这句话即可,完整内容如下:

#行注释
#[[块注
释]]
cmake_minimum_required(VERSION 3.0)#指定最低cmake版本的命令
project("cmake_learn")#定义工程名称
#--------------------------------------------------------------------------------
aux_source_directory(src SRC_LIST)
include_directories(./include)
message("SRC_LIST is " ${SRC_LIST})
add_executable(cmake_lession2 ${SRC_LIST})#定义工程生成一个可执行文件#通过set函数设置编译器的版本
set(CMAKE_CXX_STANDARD 11)#增加c++11的标准 CMAKE_CXX_STANDARD是内置变量 所以可以在cmake的时候直接通过参数进行指定 cmake /path/to/cmakelists.txt -DCMAKE_CXX_STANDARD=11

三_文件搜索:

        既然说到了源文件的搜索,那么我们可以扩大点,简单来介绍下文件的搜索方式,在cmake中应该也会使用到:

# file(GLOB/GLOB_RECURSE 变量名 要搜索的文件路径和文件类型) 
GLOB:将指定目录下搜索到的满足条件的所有文件名生成一个列表,并将其存储到变量中(仅当前目录)
GLOB_RECURSE:当前目录下的所有子目录

还是使用上面那个例子,不过我们不使用aux_source_directory。具体如下(GLOB版本):

#行注释
#[[块注
释]]
cmake_minimum_required(VERSION 3.0)#指定最低cmake版本的命令
project("cmake_learn")#定义工程名称
#--------------------------------------------------------------------------------
# aux_source_directory(src SRC_LIST)
file(GLOB SRC_LIST"src/*.cpp"
)
include_directories(./include)
message("SRC_LIST is " ${SRC_LIST})
add_executable(cmake_lession2 ${SRC_LIST})#定义工程生成一个可执行文件#通过set函数设置编译器的版本
set(CMAKE_CXX_STANDARD 11)#增加c++11的标准 CMAKE_CXX_STANDARD是内置变量 所以可以在cmake的时候直接通过参数进行指定 cmake /path/to/cmakelists.txt -DCMAKE_CXX_STANDARD=11

(GLOB_RECURSE 版本,可以在src目录下新增一个文件夹cpp_1,然后把src原来下的cpp文件都移动进去,这样使用GLOB的版本就会报错):

#行注释
#[[块注
释]]
cmake_minimum_required(VERSION 3.0)#指定最低cmake版本的命令
project("cmake_learn")#定义工程名称
#--------------------------------------------------------------------------------
# aux_source_directory(src SRC_LIST)
file(GLOB_RECURSE SRC_LIST"src/*.cpp"
)
include_directories(./include)
message("SRC_LIST is " ${SRC_LIST})
add_executable(cmake_lession2 ${SRC_LIST})#定义工程生成一个可执行文件#通过set函数设置编译器的版本
set(CMAKE_CXX_STANDARD 11)#增加c++11的标准 CMAKE_CXX_STANDARD是内置变量 所以可以在cmake的时候直接通过参数进行指定 cmake /path/to/cmakelists.txt -DCMAKE_CXX_STANDARD=11

http://www.dtcms.com/a/484886.html

相关文章:

  • 黑龙江网站建设公司wordpress前台用户注册
  • 庆阳建设局网站wordpress调用服务器文件夹
  • 帝国cms更改网站ico定制网站 多少钱
  • cnzz站长统计工具网站推广公司有哪些
  • 做水果网站首页的图片素材新闻资讯建站服务商
  • 数据查询网站如何做买房子上哪个网站最好
  • 免费php模板网站企业网站建设东莞
  • 新站网站推广该如何做为什么做企业网站
  • 陇南市建设局网站公示关键词优化公司费用多少
  • 网站倒计时怎么做安徽池州做网站的公司
  • 公司及企业如何建立自己的购物网站wordpress自定义链接地址
  • 专门做物理的网站网站建设 科目
  • 长治网站建设电话北京网站建设方面
  • 如何制作微网站西宁建设工程信息网站
  • 自己做网站的费用做资源分享网站
  • 网站空间可以自己做服务器wordpress云主机安装
  • 成都电商设计招聘网站深圳市手机网站建设
  • 服务公司取名seo公司 杭州
  • 合肥做网站大概多少钱wordpress官方文档
  • 全球可以做外贸的社交网站有哪些注册公司费用最低多少
  • 免费网站模板免费签名设计在线生成
  • 泛微 企业网站建设计划wordpress建站 域名
  • 网站制作方案解决办法一般网站建设公司有多少客户啊
  • 网站建设前景wordpress 4.0 谷歌
  • 上海建设手机网站广告设计公司的岗位有哪些
  • 海口智能建站详情年轻人必备的十大网站
  • wordpress添加论坛苏州做网站优化的
  • 类似wordpress的建站系统湖南营销型网站建设多少钱
  • 网站怎么提升关键词排名物流如何做网站
  • 考研10.4笔记