• 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三个字符
     

  • 相关阅读:
    Python编程相关的书籍
    iOS逆向工程之Theos
    SSM网上在线水果店商城超市网站平台
    springboot足球运动员训练计划管理系统的设计与实现毕业设计源码281444
    嘉曼服饰上市破发,大跌16%:公司市值37亿 刘溦家族色彩浓厚
    【随想录】-【8 回溯算法】【组合问题】40 组合总和Ⅱ
    Spring的事件通知
    Ovalbumin-PEG-NTA/TPP 鸡卵白蛋白-聚乙二醇-次氮基三乙酸/磷酸三苯酯
    领域里的X能力是什么?
    QCC51XX---串口仿真协议( RFCOMM)
  • 原文地址:https://blog.csdn.net/qq_37059136/article/details/125508050