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

唐山网站建设费用西安软件制作公司

唐山网站建设费用,西安软件制作公司,制作一个网站就等于制作一个网页,武邑网站建设target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 这条 CMake 命令用于指定编译目标#xff08;在此例中为 mylib 静态库#xff09;的头文件搜索路径。具体来说#xff0c;这条命令的作用包括以下几个方面#xff1a; 1. 添加包含目录 mylib…target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 这条 CMake 命令用于指定编译目标在此例中为 mylib 静态库的头文件搜索路径。具体来说这条命令的作用包括以下几个方面 1. 添加包含目录 mylib这是目标名称即你要为其设置包含目录的静态库。PUBLIC这是访问说明符表示包含目录的作用范围。${CMAKE_CURRENT_SOURCE_DIR}这是当前 CMakeLists.txt 文件所在的源代码目录路径通常包含库的头文件。 2. 访问说明符的含义 CMake 提供了三种访问说明符PRIVATE、PUBLIC 和 INTERFACE它们决定了包含目录对不同目标的影响范围。 PRIVATE 只对当前目标mylib有效。链接到 mylib 的其他目标不会继承这些包含目录。 PUBLIC 对当前目标和所有链接到该目标的其他目标都有效。这意味着使用 mylib 的可执行文件或其他库也会自动包含这些目录以便找到必要的头文件。 INTERFACE 只对链接到该目标的其他目标有效当前目标自身不使用这些包含目录。 在你的命令中使用 PUBLIC意味着不仅 mylib 本身在编译时会使用 ${CMAKE_CURRENT_SOURCE_DIR} 作为头文件搜索路径而且所有链接到 mylib 的目标如可执行文件 app也会自动使用这个包含目录。这对于库的使用者来说非常方便因为他们不需要手动指定库的头文件路径。 3. 实际效果 假设你的项目结构如下 project/ ├── lib/ │ ├── mylib.cpp │ └── mylib.h ├── app/ │ ├── main.cpp └── CMakeLists.txtlib/CMakeLists.txt 中的命令 add_library(mylib STATIC mylib.cpp) target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})app/CMakeLists.txt 中的命令 add_executable(app main.cpp) target_link_libraries(app PRIVATE mylib)在这种设置下 编译 mylib 时 编译器会在 ${CMAKE_CURRENT_SOURCE_DIR}即 lib/ 目录中查找头文件例如 mylib.h。 编译 app 时 因为 app 链接了 mylib 且 mylib 的包含目录是 PUBLIC所以 app 的编译器也会自动将 lib/ 目录添加到头文件搜索路径中。这样app/main.cpp 中包含 #include mylib.h 时编译器能够正确找到 mylib.h。 4. 为什么使用 CMAKE_CURRENT_SOURCE_DIR CMAKE_CURRENT_SOURCE_DIR 这个变量指向当前 CMakeLists.txt 文件所在的源代码目录。在 lib/CMakeLists.txt 中它指向 project/lib/确保包含目录指向包含 mylib.h 的正确路径。 使用 CMAKE_CURRENT_SOURCE_DIR 而不是相对路径或其他路径变量可以提高 CMakeLists.txt 的可维护性和可移植性避免在项目结构变化时出现路径错误。 5. 总结 target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 的主要作用是 为 mylib 指定头文件搜索路径确保在编译 mylib 时能够找到必要的头文件。为依赖 mylib 的目标自动添加头文件路径使用 PUBLIC 关键字使得所有链接 mylib 的目标如可执行文件或其他库也能自动包含这些目录简化依赖管理。 这种方式符合现代 CMake 的最佳实践通过清晰地指定目标的接口属性如包含目录使项目结构更加模块化和易于维护。
http://www.tj-hxxt.cn/news/131000.html

相关文章:

  • 中国全球门户网站wordpress标签页模板
  • 做网站是如何赚钱的淘宝网站建设 深圳
  • 珠海网站建设工程桂林象鼻山图片
  • 用手机做网站国外做网站
  • 北京智能网站建设系统加盟北京seo优化诊断
  • 婚恋网站排名前十名wordpress正文页面
  • 做ppt的素材网站东莞网站设计建设公司
  • 西安定制网站拼多多开网店免费提供货源
  • 织梦的网站数据还原怎么做找人做网站被骗
  • 做新的网站seowordpress积分与奖励
  • 旅游电子商务网站建设中最重要的环节和内容是什么校园网站建设平台
  • 怎么做网络推广网站做的最好的相亲网站
  • 西樵做网站wordpress修改文章默认排序
  • 做调查的网站有哪些免费设计app软件
  • 漯河做网站优化响应式布局优缺点
  • 松江专业做网站寺庙建设网站的意义
  • 免费建设外贸网站做翻译小说网站赚钱吗
  • 全国高速公路施工建设有没有网站网络seo
  • 自己做免费网站的流程wordpress交友
  • 西部数码创建子网站温州seo排名
  • 知道网站是wp程序做的如何仿站网站建设平台怎么样
  • 网站后期维护是做什么网络营销模式下品牌推广途径
  • 鑫菲互动网站建设公司河南省住房城乡和建设厅网站
  • 京东商城网站风格创个网站怎么弄
  • 二元期货交易网站开发建设信用卡积分兑换商城网站
  • 算命网站怎么做微信公众号网页版登录入口
  • 做网站不挣钱茶叶市场网站建设方案
  • 手机网站运营成都网站制作培训多少钱
  • 网站的策划做推广电子商务网站建站
  • 网站做下载wordwordpress 设置footer