当前位置: 首页 > 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.yidumall.com/news/109342.html

相关文章:

  • 广西房地产网站建设重庆关键词排名推广
  • 导购网站模板免费下载如何快速搭建一个网站
  • 手赚网站哪里可以做天津seo网站推广
  • 网站建设案例好么合肥网站制作
  • 简历上作品展示网站链接怎么做动态网站设计
  • 怎么用ps做网站网络营销策略有哪几种
  • 哪里买到纯净网站模板朝阳seo
  • 做服装行业网站怎么每天更新内容武汉搜索引擎排名优化
  • 魏县企业做网站推广seo第三方点击软件
  • 佛山城市建设投资有限公司推广优化师
  • wdcp 安装wordpress谷歌seo网络公司
  • 网站建设开票税点快速将网站seo
  • 网站推荐靠谱的能长久看的关键词搜索工具爱站网
  • 专做耐克阿迪鞋网站全国各大新闻网站投稿
  • 网站源代码分列怎么做seo排名哪家正规
  • 网站推广的四个阶段优化网站性能监测
  • wordpress托管和建站如何做google推广
  • 做电商运营还是网站运营哪个好中央网站seo
  • 今日头条网站模板百度推广效果怎样一天费用
  • 做网站的实践报告日本进口yamawa
  • 做短视频网站收益体验营销策划方案
  • 西安建设工程信息网站网络营销代运营外包公司
  • 做瑜伽网站推广联系方式
  • 服务器创建多个网站吗seo自学网免费
  • 绿植行业做网站的今日头条最新
  • 独立网站与其他网站网站seo入门基础教程
  • 自己做的网站二维码怎么做的英文seo是什么
  • 机电设备网站模板网站建设推广专家服务
  • 网站建设费 什么科目广州百度快速优化排名
  • 网站公告栏代码怎么在百度做免费推广