• vscode + mingw + cmake C++配置管理项目


    本文主要是cmake关于项目的管理,一些常用的设置配置

    cmake_minimum_required(VERSION 3.0.0)
    #设置项目名称和版本号
    project(dll VERSION 0.1.0)

    #设置编码为GBK,解决中文乱码问题
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexec-charset=GBK")

    #链接库的目录,可用相对路径
    link_directories(../dll/build/)
    #设置可执行文件的版本为debug还是release
    #set(CMAKE_BUILD_TYPE "Debug")
    set(CMAKE_BUILD_TYPE "Release")
    #创建可执行文件
    add_executable(dllTest main.cpp)
    #设置输出路径,该路径以makefile为根路径               
    set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../../bin/")
    #链接使用的dll库
    target_link_libraries(${PROJECT_NAME} libdll.dll.a)


    #设置可执行文件的版本为debug还是release
    set(CMAKE_BUILD_TYPE "Release")
    #定义变量,存储当前目录下的所有源文件
    aux_source_directory(. ALL) 
    #当源文件较多时,通过设置变量来指定需要编译的源文件
    set(GIVEN_LIST dll.cpp)

    #[[命令:add_library(libname [SHARED|STATIC|MODULE] [EXCLUDE_FROM_ALL] source1 source2 ... sourceN)
    libname:生成的库文件的名字
    ​[SHARED|STATIC|MODULE]:生成库文件的类型(动态库|静态库|模块)
    [EXCLUDE_FROM_ALL]:有这个参数表示该库不会被默认构建​
    source2 ... sourceN:生成库依赖的源文件,如果源文件比较多,可以使用​aux_sourcr_directory命令获取路径下所有源文件.]]
    #add_library(dll SHARED dll.cpp)
    #add_library(dll SHARED ${GIVEN_LIST})
    add_library(dll SHARED ${ALL})


    #设置输出路径,该路径以makefile为根路径          
    set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../../bin/")  #运行时目录 ,这里对应dll目录 
    #set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "../../bin/")     #库目录  ,这里对应lib.a目录,该指令无效
    #重定义输出dll的名字
    set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "dll")   #重命名后的文件名前面依旧会加上lib三个字符
     

  • 相关阅读:
    phpword 导出图表格式不兼容问题
    2022年,下半年互联网最靠谱的搞钱方法?
    【React Scheduler源码第一篇】哪些API适合用于任务调度
    快速响应的高效多值拜占庭共识方案
    MySQL数据库 || 增删改查操作详解
    互联网控制报文协议ICMP(计算机网络)
    一次nginx文件打开数的问题排查处理
    腾讯云服务器带宽下载速度快吗?多线BGP和CN2高速网络
    Endnote X9文献管理器应用---使用总结
    简易介绍如何使用拼多多商品详情 API。
  • 原文地址:https://blog.csdn.net/qq_37059136/article/details/125508050