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

深圳做网站网络公司网站建设 是否计入固定资产

深圳做网站网络公司,网站建设 是否计入固定资产,在社保网站上怎么做员工的退费,app免费制作网站哪个好在 CMake 中,生成静态库(Static Library)或动态库(Shared Library)非常简单。CMake 提供了 add_library 命令来定义库文件,并通过参数指定库的类型(静态库或动态库)。以下是详细的步…

在 CMake 中,生成静态库(Static Library)或动态库(Shared Library)非常简单。CMake 提供了 add_library 命令来定义库文件,并通过参数指定库的类型(静态库或动态库)。以下是详细的步骤和示例:


1. 生成静态库

静态库在编译时会被完整地链接到可执行文件中,生成的文件扩展名通常为 .lib(Windows)或 .a(Linux/macOS)。

示例代码
cmake_minimum_required(VERSION 3.10)
project(MyLibraryProject)# 添加静态库
add_library(MyStaticLibrary STATIC src/utils.cpp)# 设置静态库的输出目录
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
说明
  • add_library(MyStaticLibrary STATIC src/utils.cpp)
    • MyStaticLibrary 是库的名称。
    • STATIC 表示生成静态库。
    • src/utils.cpp 是库的源文件。
  • CMAKE_ARCHIVE_OUTPUT_DIRECTORY:用于设置静态库的输出目录。

2. 生成动态库

动态库在运行时被加载,生成的文件扩展名通常为 .dll(Windows)或 .so(Linux/macOS)。

示例代码
cmake_minimum_required(VERSION 3.10)
project(MyLibraryProject)# 添加动态库
add_library(MySharedLibrary SHARED src/utils.cpp)# 设置动态库的输出目录
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
说明
  • add_library(MySharedLibrary SHARED src/utils.cpp)
    • MySharedLibrary 是库的名称。
    • SHARED 表示生成动态库。
    • src/utils.cpp 是库的源文件。
  • CMAKE_LIBRARY_OUTPUT_DIRECTORY:用于设置动态库的输出目录。

3. 同时生成静态库和动态库

如果需要同时生成静态库和动态库,可以定义两个不同的目标:

示例代码
cmake_minimum_required(VERSION 3.10)
project(MyLibraryProject)# 添加静态库
add_library(MyStaticLibrary STATIC src/utils.cpp)# 添加动态库
add_library(MySharedLibrary SHARED src/utils.cpp)# 设置输出目录
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) # 静态库
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) # 动态库

4. 设置库的版本和导出符号

对于动态库,通常需要设置版本号和导出符号。

示例代码
cmake_minimum_required(VERSION 3.10)
project(MyLibraryProject)# 添加动态库
add_library(MySharedLibrary SHARED src/utils.cpp)# 设置库的版本号
set_target_properties(MySharedLibrary PROPERTIESVERSION 1.0.0SOVERSION 1
)# 导出符号(Windows 下需要)
if (WIN32)target_compile_definitions(MySharedLibrary PRIVATE MYSHAREDLIBRARY_EXPORTS)
endif()
说明
  • VERSIONSOVERSION:用于设置库的版本号。
  • target_compile_definitions:在 Windows 下,通常需要导出符号(通过 __declspec(dllexport))。

5. 链接库文件

生成库文件后,可以在其他目标中链接这些库。

示例代码
cmake_minimum_required(VERSION 3.10)
project(MyProject)# 添加可执行文件
add_executable(MyProgram main.cpp)# 链接静态库
target_link_libraries(MyProgram MyStaticLibrary)# 或者链接动态库
target_link_libraries(MyProgram MySharedLibrary)

6. 完整示例

以下是一个完整的示例,展示如何生成静态库和动态库,并在可执行文件中链接它们:

cmake_minimum_required(VERSION 3.10)
project(MyLibraryProject)# 设置输出目录
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) # 静态库
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) # 动态库
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) # 可执行文件# 添加静态库
add_library(MyStaticLibrary STATIC src/utils.cpp)# 添加动态库
add_library(MySharedLibrary SHARED src/utils.cpp)# 设置动态库的版本号
set_target_properties(MySharedLibrary PROPERTIESVERSION 1.0.0SOVERSION 1
)# 添加可执行文件
add_executable(MyProgram main.cpp)# 链接静态库
target_link_libraries(MyProgram MyStaticLibrary)# 或者链接动态库
target_link_libraries(MyProgram MySharedLibrary)

7. 构建项目

在项目根目录下运行以下命令来构建项目:

mkdir build
cd build
cmake ..
cmake --build .

构建完成后:

  • 静态库会生成在 build/lib/ 目录下(如 libMyStaticLibrary.aMyStaticLibrary.lib)。
  • 动态库会生成在 build/lib/ 目录下(如 libMySharedLibrary.soMySharedLibrary.dll)。
  • 可执行文件会生成在 build/bin/ 目录下。

总结

  • 使用 add_library 生成静态库(STATIC)或动态库(SHARED)。
  • 通过 CMAKE_ARCHIVE_OUTPUT_DIRECTORYCMAKE_LIBRARY_OUTPUT_DIRECTORY 设置库的输出目录。
  • 使用 target_link_libraries 链接库文件到可执行文件。
  • 动态库可以设置版本号和导出符号(特别是在 Windows 下)。

文章转载自:

http://uwe0zsGX.bfysg.cn
http://hj53vdcV.bfysg.cn
http://fo9l1EXj.bfysg.cn
http://7WdQVgVR.bfysg.cn
http://j9mPvOjd.bfysg.cn
http://ckSj69y8.bfysg.cn
http://g3GePxot.bfysg.cn
http://TwzHi1wk.bfysg.cn
http://eHR7pVWp.bfysg.cn
http://SuY3PuYp.bfysg.cn
http://N8eUPb17.bfysg.cn
http://HJuMc31t.bfysg.cn
http://wzr5ULh0.bfysg.cn
http://07dr0jdU.bfysg.cn
http://WyMQJuA5.bfysg.cn
http://DmSERGfM.bfysg.cn
http://fzsvLTFF.bfysg.cn
http://lRj8a0XP.bfysg.cn
http://nKfkDYIt.bfysg.cn
http://cb8TVRsp.bfysg.cn
http://NXTG6USN.bfysg.cn
http://DBUgdBWV.bfysg.cn
http://EmfoP06I.bfysg.cn
http://PrIX8lCL.bfysg.cn
http://eNJGIifM.bfysg.cn
http://3UUOx7Pc.bfysg.cn
http://c8BmV0pq.bfysg.cn
http://dsN1XDYh.bfysg.cn
http://P5Q3z2lD.bfysg.cn
http://AexcmEDZ.bfysg.cn
http://www.dtcms.com/wzjs/726273.html

相关文章:

  • 中国商标网官方查询网站海外推广是做什么的
  • 12306的网站多少钱做的学网站开发的培训学校
  • 网站网页制作企网站开发入门看什么
  • 网站表单功能下载的网站模板怎么修改
  • WordPress建站去掉后缀wordpress增加用户活跃
  • 厦门市建设工程质监站网站怎么做期货网站
  • 广州市萝岗区做网站设计服务wordpress标签 扩展
  • 怎么注册一个公司网站白金域名的特点
  • 电子商务网站开发形式有百度培训
  • php 企业网站系统下载网站开发商问花店老板
  • 青岛网站制作seo公司已经有域名 怎么建网站
  • 做开发房地产网站可行吗品质好的广告语
  • 如何开发一个软件站长工具seo客户端
  • 网站推广的意义和方法内容营销的表现形式比较单一
  • hmm船公司网站孔家庄网站建设
  • 那里有做像美团的网站的如何做网站的维护和推广
  • 广告公司微网站建设成都网站建设麦格思
  • 网站建设与管理 答案编辑网页用什么软件
  • 自助建站平台搭建个人网站报价
  • 公司发展规划怎么写整站优化全网营销
  • 做外贸网站需要什么卡app怎么制作的
  • 室内设计招聘网站有哪些网页制作东莞
  • qq业务网站平台上海微信网站建设价格
  • 棕色网站设计wordpress实现登录
  • 网站怎么建设的佛山建站软件
  • 摄影网站建站江门网站制作套餐
  • 湛江网站建设方案书重庆定制网站建设
  • wordpress 本地建站教程扎染毕业设计代做网站
  • 成品网站源码的优化技巧南京每月做社保明细在哪个网站查
  • 为什么国外网站有时打不开河北建设银行石家庄分行招聘网站