96SEO 2026-02-19 12:00 32
成动态库或者静态库那么如果用cmake来构建的话应该怎么做呢怎么指定是生成可执行程序还是生成动态库或者静态库呢这篇文章我们用简单的demo聊一下这些内容。

示例使用安装了vs2022的Windows系统使用vscode编辑器。
结构很简单只有一个用来生成可执行程序的源文件main.cpp和一个指定构建规则的CMakeLists.txt文件。
3.26)project(demo)add_executable(${PROJECT_NAME}
3.26)指定cmake最低版本如果构建时使用的cmake低于这个版本就会报错主要是为了避免出现兼容问题。
project(demo)设置项目名称为demo这条指令还可以设置版本以及程序语言等信息但是一般不需要设置项目名称就可以了。
add_executable(${PROJECT_NAME}
main.cpp)这条指令的作用是指定项目目标为生成可执行程序同时指定可执行程序的文件名为PROJECT_NAME变量的值这个文件名是不带后缀名的文件名具体后缀名会根据所处系统环境自动生成PROJECT_NAME变量的值是最近的一次使用project()设置的项目名称以及指定生成可执行程序使用的源文件为main.cpp。
结构也很简单包括用来生成动态库的源文件demo.cpp头文件demo.h和demo_config.h以及一个指定构建规则的CMakeLists.txt文件。
}代码很简单就不解释了重点是要解释CMakeLists.txt文件的内容。
看一下这个CMakeLists.txt文件的内容这个会比上面生成可执行程序的那个demo稍微复杂一些。
3.26)project(demo)include_directories(include)add_definitions(-DDEMO_EXPORT)aux_source_directory(src
srcfiles:${srcfiles})add_library(${PROJECT_NAME}
3.26)和project(demo)前面已经说过了。
include_directories(include)设置包含下的源文件并且保存为变量srcfilesmessage(STATUS
“srcfiles:${srcfiles}”)打印变量srcfiles的值不打印也可以这里只是为了讲的清楚一些STATUS表示是状态信息。
add_library(${PROJECT_NAME}
${srcfiles})这条指令的作用是指定生成库文件并且指定库文件的文件名是变量PROJECT_NAME的值使用的源文件就是前面aux_source_directory(src
srcfiles)指令收集的源文件即变量srcfiles的值这俩参数和前面的指令add_executable()中对应的参数是一样的含义另一个参数SHARED表示要生成的是动态库共享库文件。
这几个文件写好了之后和前面构建可执行程序一样我们在demo目录下先执行命令cmake
build生成构建系统执行这条命令的时候可以看到CMakeLists.txt中那条message指令打印的信息然后执行命令cmake
这个也很简单包括用来生成动态库的源文件demo.cpp和头文件demo.h以及一个指定构建规则的CMakeLists.txt文件。
}重点是这个CMakeLists.txt文件的内容但是这个CMakeLists.txt和前面生成动态库的那个CMakeLists.txt基本上一样我们来看一下。
3.26)project(demo)include_directories(include)aux_source_directory(src
srcfiles:${srcfiles})add_library(${PROJECT_NAME}
${srcfiles})这个CMakeLists.txt和前面生成动态库的那个CMakeLists.txt的一个区别是不用设置预定义宏了因为不需要但是这个区别不是重点重点是add_library()这条指令的区别这条指令前面讲了可以使用参数SHARED指定生成动态库相对应的使用参数STATIC就是表示要指定生成静态库。
同样的这几个文件写好了之后我们在demo目录下先执行命令cmake
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback