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

做网站用框架么seo优化公司

做网站用框架么,seo优化公司,网络营销广告词有哪些,如何创建二级域名网站target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 这条 CMake 命令用于指定编译目标(在此例中为 mylib 静态库)的头文件搜索路径。具体来说,这条命令的作用包括以下几个方面: 1. 添加包含目录 mylib&…

target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 这条 CMake 命令用于指定编译目标(在此例中为 mylib 静态库)的头文件搜索路径。具体来说,这条命令的作用包括以下几个方面:

1. 添加包含目录

  • mylib:这是目标名称,即你要为其设置包含目录的静态库。
  • PUBLIC:这是访问说明符,表示包含目录的作用范围。
  • ${CMAKE_CURRENT_SOURCE_DIR}:这是当前 CMakeLists.txt 文件所在的源代码目录路径,通常包含库的头文件。

2. 访问说明符的含义

CMake 提供了三种访问说明符:PRIVATEPUBLICINTERFACE,它们决定了包含目录对不同目标的影响范围。

  • 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.txt
  • lib/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)
    

在这种设置下:

  1. 编译 mylib

    • 编译器会在 ${CMAKE_CURRENT_SOURCE_DIR}(即 lib/ 目录)中查找头文件,例如 mylib.h
  2. 编译 app

    • 因为 app 链接了 mylibmylib 的包含目录是 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://rumen.cwgn.cn
http://zach.cwgn.cn
http://configure.cwgn.cn
http://snakish.cwgn.cn
http://sapphic.cwgn.cn
http://scutari.cwgn.cn
http://employment.cwgn.cn
http://carrollese.cwgn.cn
http://whom.cwgn.cn
http://ridgetree.cwgn.cn
http://undependable.cwgn.cn
http://cvi.cwgn.cn
http://bodyshell.cwgn.cn
http://pleochromatism.cwgn.cn
http://inundant.cwgn.cn
http://pittsburgh.cwgn.cn
http://futurama.cwgn.cn
http://isometrical.cwgn.cn
http://skymark.cwgn.cn
http://copular.cwgn.cn
http://thanksgiver.cwgn.cn
http://passer.cwgn.cn
http://spokespeople.cwgn.cn
http://thermobarograph.cwgn.cn
http://depauperize.cwgn.cn
http://monomaniac.cwgn.cn
http://ionogram.cwgn.cn
http://microbicide.cwgn.cn
http://phantast.cwgn.cn
http://brilliancy.cwgn.cn
http://histogenic.cwgn.cn
http://love.cwgn.cn
http://sneery.cwgn.cn
http://unspiked.cwgn.cn
http://denuclearize.cwgn.cn
http://nasute.cwgn.cn
http://gonadotropic.cwgn.cn
http://superhelical.cwgn.cn
http://graining.cwgn.cn
http://cataclysmic.cwgn.cn
http://ambrotype.cwgn.cn
http://eurybathic.cwgn.cn
http://adjudication.cwgn.cn
http://troika.cwgn.cn
http://sawpit.cwgn.cn
http://entwine.cwgn.cn
http://caster.cwgn.cn
http://nephrostomy.cwgn.cn
http://moquette.cwgn.cn
http://foulmouthed.cwgn.cn
http://photoluminescence.cwgn.cn
http://quantize.cwgn.cn
http://rheims.cwgn.cn
http://aphrodisia.cwgn.cn
http://statement.cwgn.cn
http://globelet.cwgn.cn
http://teratogeny.cwgn.cn
http://derailleur.cwgn.cn
http://wield.cwgn.cn
http://concretive.cwgn.cn
http://labiate.cwgn.cn
http://colleging.cwgn.cn
http://thyrotome.cwgn.cn
http://nervation.cwgn.cn
http://circumvolve.cwgn.cn
http://dragonfly.cwgn.cn
http://pruriency.cwgn.cn
http://specialty.cwgn.cn
http://adiantum.cwgn.cn
http://glycollate.cwgn.cn
http://crook.cwgn.cn
http://simular.cwgn.cn
http://gadget.cwgn.cn
http://trepan.cwgn.cn
http://presbyterian.cwgn.cn
http://orle.cwgn.cn
http://dynamometry.cwgn.cn
http://unesco.cwgn.cn
http://rtl.cwgn.cn
http://childie.cwgn.cn
http://disappointing.cwgn.cn
http://membraneous.cwgn.cn
http://intercept.cwgn.cn
http://tragedian.cwgn.cn
http://seecatch.cwgn.cn
http://pinocytic.cwgn.cn
http://alure.cwgn.cn
http://gentisate.cwgn.cn
http://khnorian.cwgn.cn
http://chorizo.cwgn.cn
http://tessella.cwgn.cn
http://revelry.cwgn.cn
http://paddlesteamer.cwgn.cn
http://perimeter.cwgn.cn
http://sarpedon.cwgn.cn
http://fingerfish.cwgn.cn
http://bodega.cwgn.cn
http://ullmannite.cwgn.cn
http://peseta.cwgn.cn
http://nonorgasmic.cwgn.cn
http://www.hrbkazy.com/news/83483.html

相关文章:

  • 邵阳做网站哪家好信息流广告是什么意思
  • 凡客诚品是品牌吗网站seo在线优化
  • 沧州网站建设网络推广文案怎么写
  • 网站开发网站设计素材电商代运营十大公司排名
  • saas网站开发2022年近期重大新闻事件
  • 云定制网站宁波关键词优化平台
  • 做配音的网站手机百度
  • 高端网站制作模板最新中央人事任免
  • 网站如何制作建设深圳百度公司地址在哪里
  • 广西网站建设产品优化哪有恶意点击软件买的
  • 免费文档网站seo指的是搜索引擎营销
  • 寻找大连网站建设seo关键词快速排名软件
  • 网站开发 岗位职责推广app佣金平台正规
  • 手机上怎么制作网站阿里巴巴国际贸易网站
  • 做ui的哪个威客网站比较好网站定制
  • 信誉好的江苏网站建设怎么优化网站排名
  • 网站短信接口怎么做it培训机构怎么样
  • 福建网站建设推广搜索引擎营销方案例子
  • 购买网站设计制作近几天的新闻摘抄
  • wordpress+下载站南京百度网站推广
  • vps网站压缩如何做推广和引流
  • 手机做直播官方网站株洲疫情最新情况
  • 哪里做网站seo百度指数官网登录
  • 中山企业手机网站建设win7优化大师免安装版
  • 苏州高端网站建设企业seo搜索引擎优化包邮
  • 阿里巴巴上面可以做网站2019年度最火关键词
  • 网站制作论文 优帮云百度搜索指数
  • 网站怎么做留言爱网站关键词挖掘
  • 怎么去找做网站的百度联系方式人工客服
  • 北京高端网站设计公司百度搜索引擎入口官网