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

苏州做网站品牌公司成品源码78w78

苏州做网站品牌公司,成品源码78w78,做二手货车网站公司,中关村在线对比目录 0.前言 准备1.节点关系2.添加子目录3.解决问题1.根目录2.calc目录3.sort目录4.calc_test目录5.sort_test 4.注意 0.前言 准备 如果项目很大#xff0c;或者项目中有很多的源码目录#xff0c;在通过CMake管理项目的时候如果只使用一个CMakeLists.txt#… 目录 0.前言 准备1.节点关系2.添加子目录3.解决问题1.根目录2.calc目录3.sort目录4.calc_test目录5.sort_test 4.注意 0.前言 准备 如果项目很大或者项目中有很多的源码目录在通过CMake管理项目的时候如果只使用一个CMakeLists.txt那么这个文件相对会比较复杂有一种化繁为简的方式就是给每个源码目录都添加一个CMakeLists.txt文件(头文件目录不需要)这样每个文件都不会太复杂而且更灵活更容易维护以下目录结构为例. ├── CMakeLists.txt ├── bin ├── build ├── calc │ ├── CMakeLists.txt │ ├── add.c │ ├── div.c │ ├── mult.c │ └── sub.c ├── calc_test │ ├── CMakeLists.txt │ └── calc_main.c ├── include │ ├── calc.h │ └── sort.h ├── lib ├── sort │ ├── CMakeLists.txt │ └── sort.c └── sort_test├── CMakeLists.txt└── sort_main.c1.节点关系 Linux的目录是树状结构所以嵌套的CMake也是一个树状结构最顶层的CMakeLists.txt是根节点其次都是子节点因此需要了解一些关于CMakeLists.txt文件变量作用域的一些信息 根节点CMakeLists.txt中的变量全局有效父节点CMakeLists.txt中的变量可以在子节点中使用子节点CMakeLists.txt中的变量只能在当前结点中使用 2.添加子目录 CMake中建立父子节点关系add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])参数 source_dir指定了CMakeLists.txt源文件和代码文件的位置其实就是指定子目录binary_dir制定了输出文件的路径一般不需要指定忽略即可EXCLUDE_FROM_ALL在子路径下的目标默认不会被包含到父路径的ALL目标里并且也会被排除在IDE工程文件之外。用户必须显式构建在子路径下的目标 3.解决问题 1.根目录 根目录中的CMakeLists.txt文件cmake_minimum_required(VERSION 3.15) project(mult_test)# 设置静态库生成路径 set(LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib) # 测试程序生成的路径 set(EXEC_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin) # 头文件目录 set(HEAD_PATH ${CMAKE_CURRENT_SOURCE_DIR}/include)# 静态库名字 set(CALC_LIB calc) set(SORT_LIB sort)# 可执行程序的名字 set(APP_NAME_1 calc_test) set(APP_NAME_2 sort_test)# 给当前结点添加子目录目录 add_subdirectory(calc) add_subdirectory(sort) add_subdirectory(sort_test) add_subdirectory(calc_test)在根节点对应的文件中主要做了两件事情定义全局变量和添加子目录 定义的全局变量主要是给子节点使用目的是为了提高子节点中的CMakeLists.txt文件的可读性和可维护性避免冗余并降低出错的概率一共添加了四个子目录每个子目录中都有一个CMakeLists.txt文件这样它们的父子关系就被确定下来了 2.calc目录 calc目录中的CMakeLists.txt文件cmake_minimum_required(VERSION 3.15) project(calc)# 搜索源文件 aux_source_directory(./ SRC) include_directories(${HEAD_PATH})set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_PATH}) add_library(${CALC_LIB} STATIC ${SRC})3.sort目录 sort目录中的CMakeLists.txt文件cmake_minimum_required(VERSION 3.15) project(sort)# 搜索源文件 aux_source_directory(./ SRC) include_directories(${HEAD_PATH})set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_PATH}) add_library(${SORT_LIB} STATIC ${SRC})4.calc_test目录 calc_test目录中的CMakeLists.txt文件cmake_minimum_required(VERSION 3.15) project(calc_test)# 搜索源文件 aux_source_directory(./ SRC) include_directories(${HEAD_PATH})link_directories(${LIB_PATH}) link_libraries(${CALC_LIB})set(EXECUTABLE_OUTPUT_PATH ${EXEC_PATH}) add_executable(${APP_NAME_1} ${SRC})5.sort_test sort_test目录中的CMakeLists.txt文件cmake_minimum_required(VERSION 3.15) project(calc_test)# 搜索源文件 aux_source_directory(./ SRC) include_directories(${HEAD_PATH})link_directories(${LIB_PATH}) link_libraries(${SORT_LIB})set(EXECUTABLE_OUTPUT_PATH ${EXEC_PATH}) add_executable(${APP_NAME_2} ${SRC})4.注意 在实际开发中一个大型的 CMake 项目中project() 命令通常只在最外层的 CMakeLists.txt 文件中出现一次顶层 CMakeLists.txt 文件是项目的入口点在这里应该定义项目名称、全局设置和添加子目录cmake_minimum_required(VERSION 3.10) project(MyLargeProject)# 设置全局属性 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True)# 添加子目录 add_subdirectory(src) add_subdirectory(lib)在子目录的 CMakeLists.txt 文件中通常不需要重复使用 project() 命令相反应该专注于定义目标(例如库或可执行文件)、设置目标属性和包含路径# 添加库文件 add_library(MyLibrary mylibrary.cpp) # 设置包含路径 target_include_directories(MyLibrary PUBLIC ${CMAKE_SOURCE_DIR}/include)
http://www.pierceye.com/news/338473/

相关文章:

  • 东莞建站公司案例全网天下案例wordpress入门教程知乎
  • 网站策划书包含的内容化工设计网站
  • 做网站推广电话网站建设制作免费推广
  • 如何发布网站响应式商城网站
  • 网站建设应用程序开发网站建设的意义以及重要性
  • 网站建设进度说明嘉兴公司制作网站的
  • 山东省建设注册管理网站手机免费网站制作
  • 台州网站制作套餐如何查询网站的主机
  • 毕业设计代做哪个网站好房产中介如何找客源
  • 怎么下载自己做的网站杭州互联网公司排名
  • 做曖視頻网站网站开发设计流程论文
  • 北京移动官网网站建设凡科做的网站好吗
  • 申请网站域名怎么做wordpress金融主题
  • 中国建设银行移动门户网站wordpress 生成html代码
  • dw网站建设框架大小设定广州分销商城开发
  • 网站一年的 运营费用一般企业网站建设合同
  • 九龙坡集团网站建设贵阳网站建设推广
  • 架设网站 自己购买服务器无锡seo网站推广费用
  • 网站关键词长度开平 做一网站
  • 青海制作网站可以网站可以做免费的文案广告
  • 深圳维特网站建设有彩虹代刷源码怎么做网站
  • 有了自己的网站怎样做后台食品建设网站前的市场分析
  • 制作伪装网站微餐饮网站建设
  • 泰州做网站软件哈尔滨网站建设市场分析
  • 手机网站建设口碑好网站的技术建设
  • 论坛类网站备案wordpress分享qq
  • 做化工的在哪个网站做平台好长期做网站应该购买稳定的空间
  • 网站建设 推广找山东博达制作网页难吗
  • 临安网站设计海口h5建站模板
  • 网站建设济南云畅网络技术有限公司厦门最新通告