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

现在做什么网站好网站收缩广告

现在做什么网站好,网站收缩广告,四川外国语大学网站建设,网站站长统计怎么做目录 项目格式 cmake基本语法 设置编译器 添加库 链接库 添加库的头文件 cmake打印字符串 库的cmake文件 cmake生辰库 mian函数中使用 让库成为可选的 cmake基本语法 设置option变量 cmake设置条件链接库 链接库 添加头文件 修改cmake配置文件 修改引用的源码…

目录

项目格式

cmake基本语法

设置编译器

添加库

链接库

添加库的头文件

cmake打印字符串

库的cmake文件

cmake生辰库

mian函数中使用

让库成为可选的

cmake基本语法

设置option变量

cmake设置条件链接库

链接库

添加头文件

修改cmake配置文件

修改引用的源码

更新链接库的过程

${CMAE_CURRENT_SOURCE_DIR}



项目格式

Step2

        mathFunctions/CMakeLists.txt mysqrt.cxx MathFunctions.h

        CMakeList.txt

        tutorial.cxx

        Tutorial.h.in

cmake基本语法

设置编译器

set (CMAKE_C_COMPILER "D:/Program Files/LLVM/bin/gcc")set (CMAKE_CXX_COMPILER "D:/Program Files/LLVM/bin/g++")

CMAKE_C_COMPILER C语言编译器,CMAKE_CXX_COMPILER C++编译器。

添加库

add_subdirectory(MathFunctions)

添加的MathFunctions就是文件夹的名字也可以理解为库的名字

链接库

target_link_libraries(Tutorial PUBLIC MathFunctions)

第一个参数是生成的可执行文件,中间的是公有的,第三个参数是库的名字.

添加库的头文件

target_include_directories(Tutorial PUBLIC ${PROJECT_SOURCE_DIR}/MathFunctions ${PROJECT_BINARY_DIR})

第一个参数是生成的可执行文件,中间的是公有的,第三个参数是库的路径,应该说后面的参数都是路径.

其中:

${PROJECT_SOURCE_DIR} 这个变量是主Cmake文件的变量

${PROJECT_BINARY_DIR}这个变量是cmake -B生成的路径的变量

cmake打印字符串

message("hello world")
message(${PROJECT_SOURCE_DIR}/MathFunctions)

这个就是打印出来的字符串.

库的cmake文件

 

这个cmake文件不需要写那么多公共命令. 

cmake生辰库

add_library(MathFunctions mysqrt.cxx)

这行代码就是把cxx文件添加到库中

mian函数中使用

添加头文件

#include <MathFunctions.h>

可以直接使用尖括号,因为cmake已经把头文件添加到可执行文件中了.

然后直接调用函数即可.

让库成为可选的

cmake基本语法

设置option变量

option(USE_MYMATH "Use tutorial provided math implementation" ON)

设置一个USE_MATH的变量,第二个参数是说明字符串,第三个是启动或者关闭 ON是启动,OFF是关闭.

注意:option这个设置变量一定要在configure_file(TutorialConfig.h.in TutorialConfig.h)这行前面才可以,要不然option设置的不起作用.

cmake设置条件链接库

if (USE_MYMATH)add_subdirectory(MathFunctions)list(APPEND EXTRA_LIBS MathFunctions)list(APPEND EXTRA_INCLUDES ${PROJECT_SOURCE_DIR})
endif()

意思是如果USE_MYMATH为ON才可以链接自己的库

其中强调两行代码就是list的代码

    list(APPEND EXTRA_LIBS MathFunctions)

    list(APPEND EXTRA_INCLUDES ${PROJECT_SOURCE_DIR})

这两行代码你可以理解为依赖的库声明成一个变量列表,例如EXTRA_LIBS这个变量就是存储的MathFunctions这个库这里只有一个demo如果要链接十个八个只要在list后面空格添加就行,

EXTRA_INCLUDES这个也是同理,目的也是为了下面添加链接库和添加头文件的时候简单一点.

链接库

target_link_libraries(Tutorial PUBLIC ${EXTRA_LIBS})

这里就用到EXTRA_LIBS 这个列表

添加头文件

target_include_directories(Tutorial PUBLIC ${EXTRA_INCLUDES}${PROJECT_BINARY_DIR})

这里就用到EXTRA_INCLUDES这个列表

修改cmake配置文件

#cmakedefine USE_MYMATH

添加一行这个代码

USE_MYMATH这个变量就是对应一开始的option设置的变量

如果option设置USE_MYMATH为ON, cmake配置文件生成的头文件就会定义USE_MYMATH

这个不是自己写的是cmake自己生成的. 

修改引用的源码

 

更新链接库的过程

如果每次主cmake文件每次链接一个库都要target_include_directories一个库名字就有点重复,所以可以修改cmake库来实现当链接这个库的时候就包含头文件了。

第一步就是修改库的cmake文件:

add_library(MathFunctions mysqrt.cxx)target_include_directories(MathFunctionsINTERFACE${CMAKE_CURRENT_SOURCE_DIR})

target_include_directories(MathFunctions
    INTERFACE
    ${CMAKE_CURRENT_SOURCE_DIR})

第一行代码是添加库名字,第二行是添加库的头文件,第一个参数是库的名字,

INTERFACE:第二个参数意思是当链接这个库的时候就要包含include第三个参数的头文件,但是自己的库不使用头文件,

还有一个PUBLIC:

PUBLIC:这个的意思是不光链接这个库的需要使用库头文件,自己也是用。一般这个使用的比较多。

第三个参数就是头文件的路径,

${CMAE_CURRENT_SOURCE_DIR}

这个变量是什么意思了?这个意思是当前cmake文件的目录,这个变量和${PROJECT_SOURCE_DIR}这个变量比较相似,这个是指定项目当前的路径。

主cmake文件就可以把上面链接MathFunctions文件可以删除了。

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

相关文章:

  • 机场建设相关网站28商机网创业项目
  • 营销型网站建设开发价格加强网站 网站建设
  • 自己做网站麻烦吗网页制作教程(第三版)
  • 在线教育网站开发实例做网站买域名就行了吗
  • 灵芝住房和城乡建设局局网站做箱包外贸哪个网站好
  • 陆良县住房和城乡建设局网站英文外贸网站
  • 广州牌手表网站小程序搭建是什么工作
  • 霍尔果斯建设局网站溧阳企业网站建设价格
  • 安徽省省建设厅网站网站的建设需要多少
  • 泰州网站建设找思创珠海网站设计价格
  • 网站搜索引擎优化工具网站开发属于软件开发行业吗
  • 免费推广网站wordpress的收费
  • 苏州网站开发电话免费全部游戏大全
  • 网站和app区别与联系网站建设项目设计报告
  • 白品网站建设wordpress 侧边栏 背景
  • 北京高端网站建设规划有二维码怎样做网站
  • 文明网站建设情况报告八爪鱼wordpress
  • 学校校园网站建设服务做游戏脚本的网站
  • 电子商务网站提供的主要功能有电子邮箱注册网站申请
  • jquery图片效果网站网站域名登陆地址
  • 在百度做网站需要什么资料珠海移动app开发公司
  • 网站标题加后缀成都网站设计制作
  • 如何建立学校网站中国建设银行网站 纪念币预约
  • 在家里接加工订单seo快速优化方法
  • 男科医院网站建设公司哪个网站有老外教做蛋糕
  • iis 建设网站网站先做前端还是后端
  • 设计制作建筑模型教案安徽网站优化价格咨询
  • 做网站都需要具备什么如何把网站上传到空间
  • 重庆网站关键词推广开发公司运营部职责
  • 深圳低价网站建设牛商网网站模板