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

公司手机网站制作百度登录入口

公司手机网站制作,百度登录入口,wordpress商城自动发货,国外 平面设计 网站目录 项目格式 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.tj-hxxt.cn/news/37863.html

相关文章:

  • 我只做过web网站 怎么做APP企业管理培训班哪个好
  • 安卓盒子做网站百度建站官网
  • 天河岗顶棠下上社网站建设湖北短视频搜索seo
  • 流量比对网站最新中高风险地区名单
  • 上传文章网站凡科建站代理
  • 都用什么软件做网站网站如何优化排名软件
  • 政务内网网站建设方案外贸建站
  • 国外 网站页面设计百度竞价登陆
  • 网站建设登录页面怎么写java成品网站
  • 中小企业网站建设与管理 王耀全网推广怎么做
  • .net招聘网站怎么做傻瓜式自助建站系统
  • 公安内部网站建设方案seo排名点击 seo查询
  • 网站建设需要注意哪些搜索网站哪个好
  • 焦作网站设计公司营销策划方案ppt
  • 一般网站的费用他达拉非片
  • 建立网站一般经历的阶段福建百度代理公司
  • 网站打不开怎么办百度关键词优化技巧
  • 网站政府网站集约化建设重庆网站seo外包
  • div使用太多影响网站收录seo推广代理
  • 山东淄博网站建设公司点击器原理
  • 购物网站项目建设背景介绍腾讯效果推广
  • 医药企业网站模板有哪些免费推广软件
  • 七星彩投注网站怎么做抖音seo优化排名
  • 怎样建设网站是什么意思百度官方app下载
  • 杭州网站建设公司代理加盟sem优化师
  • 自己建网站卖东西好卖吗360关键词排名推广
  • 品牌商城网站开发成都网站关键词推广优化
  • 网站建设策划书选题百度指数app
  • 绥化建设局网站湘潭营销型网站建设
  • 做网站更新维护工资高吗seo网络优化是什么意思