当前位置: 首页> 财经> 股票 > 电商运营八大流程_网页设计图片排版布局代码_seo综合查询平台官网_seo学徒招聘

电商运营八大流程_网页设计图片排版布局代码_seo综合查询平台官网_seo学徒招聘

时间:2025/8/23 21:28:07来源:https://blog.csdn.net/qq_39071254/article/details/144648546 浏览次数:0次
电商运营八大流程_网页设计图片排版布局代码_seo综合查询平台官网_seo学徒招聘

组织一个C++共享库的项目架构,并编写相应的 CMakeLists.txt 文件。以下是一个常见的项目结构示例以及详细的 CMakeLists.txt 内容。

项目目录结构

MySharedLibrary/
├── CMakeLists.txt
├── include/
│   └── MySharedLibrary/
│       ├── MyClass.h
│       └── ... (其他头文件)
├── src/
│   ├── MyClass.cpp
│   └── ... (其他源文件)
├── tests/
│   ├── CMakeLists.txt
│   └── test_MyClass.cpp
├── examples/
│   ├── CMakeLists.txt
│   └── example.cpp
├── third_party/
│   └── ... (第三方库,如果有)
└── README.md

目录说明:

  • CMakeLists.txt: 项目的顶层CMake配置文件。
  • include/: 存放公共头文件,供外部使用。
    • MySharedLibrary/: 为了避免头文件命名冲突,通常会在 include/ 下创建一个以库名命名的子目录。
  • src/: 存放源文件。
  • tests/: 存放测试代码。
  • examples/: 存放示例代码,展示如何使用你的库。
  • third_party/: 存放第三方依赖库(如果有)。
  • README.md: 项目说明文件。

顶层 CMakeLists.txt

cmake_minimum_required(VERSION 3.14)# 项目名称和版本
project(MySharedLibrary VERSION 1.0.0 LANGUAGES CXX)# 设置C++标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)# 设置生成共享库
add_library(MySharedLibrary SHAREDsrc/MyClass.cpp# 这里可以添加更多源文件
)# 指定头文件搜索路径
target_include_directories(MySharedLibraryPUBLIC$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>$<INSTALL_INTERFACE:include>
)# 设置库的版本信息(可选)
set_target_properties(MySharedLibrary PROPERTIESVERSION ${PROJECT_VERSION}SOVERSION 1PUBLIC_HEADER include/MySharedLibrary/MyClass.h
)# 定义安装规则
include(GNUInstallDirs)install(TARGETS MySharedLibraryEXPORT MySharedLibraryTargetsLIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/MySharedLibrary
)# 导出库的使用配置
install(EXPORT MySharedLibraryTargetsFILE MySharedLibraryTargets.cmakeNAMESPACE MySharedLibrary::DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MySharedLibrary
)# 生成配置文件用于find_package
include(CMakePackageConfigHelpers)
write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/MySharedLibraryConfigVersion.cmake"VERSION ${PROJECT_VERSION}COMPATIBILITY AnyNewerVersion
)configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/MySharedLibraryConfig.cmake.in"${CMAKE_CURRENT_BINARY_DIR}/MySharedLibraryConfig.cmake"INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MySharedLibrary
)install(FILES"${CMAKE_CURRENT_BINARY_DIR}/MySharedLibraryConfig.cmake""${CMAKE_CURRENT_BINARY_DIR}/MySharedLibraryConfigVersion.cmake"DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/MySharedLibrary
)# 启用测试(如果使用CTest)
enable_testing()
add_subdirectory(tests)# 添加示例(可选)
add_subdirectory(examples)

配置文件模板 cmake/MySharedLibraryConfig.cmake.in

你需要在项目根目录下创建一个 cmake/ 目录,并在其中创建 MySharedLibraryConfig.cmake.in 文件,内容如下:

@PACKAGE_INIT@find_dependency(其他依赖库)include("${CMAKE_CURRENT_LIST_DIR}/MySharedLibraryTargets.cmake")

示例 tests/CMakeLists.txt

# tests/CMakeLists.txt
add_executable(test_MyClass test_MyClass.cpp)
target_link_libraries(test_MyClass PRIVATE MySharedLibrary)# 添加测试
add_test(NAME TestMyClass COMMAND test_MyClass)

示例 examples/CMakeLists.txt

# examples/CMakeLists.txt
add_executable(example example.cpp)
target_link_libraries(example PRIVATE MySharedLibrary)

示例源文件

include/MySharedLibrary/MyClass.h

#ifndef MYSHAREDLIBRARY_MYCLASS_H
#define MYSHAREDLIBRARY_MYCLASS_Hnamespace MySharedLibrary {class MyClass {
public:MyClass();void doSomething();
};} // namespace MySharedLibrary#endif // MYSHAREDLIBRARY_MYCLASS_H

src/MyClass.cpp

#include "MySharedLibrary/MyClass.h"
#include <iostream>namespace MySharedLibrary {MyClass::MyClass() {// 构造函数实现
}void MyClass::doSomething() {std::cout << "Doing something!" << std::endl;
}} // namespace MySharedLibrary

构建和安装

  1. 创建构建目录并进入

    mkdir build
    cd build
    
  2. 运行CMake配置

    cmake ..
    

    如果你希望安装到指定目录,例如 /usr/local,可以指定 CMAKE_INSTALL_PREFIX

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
    
  3. 编译项目

    cmake --build .
    
  4. 运行测试

    ctest
    
  5. 安装库

    cmake --install .
    

其他建议

  • 版本控制:使用Git等版本控制系统来管理你的项目代码。
  • 文档:编写详细的文档和使用示例,方便用户理解和使用你的库。
  • 持续集成:考虑使用CI工具(如GitHub Actions、Travis CI等)自动化构建和测试。
  • 代码质量:使用工具如 clang-tidycppcheck 进行静态代码分析,确保代码质量。
关键字:电商运营八大流程_网页设计图片排版布局代码_seo综合查询平台官网_seo学徒招聘

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: