美文网首页
MakeFile的制作

MakeFile的制作

作者: 美雨知春 | 来源:发表于2021-04-16 16:27 被阅读0次

    利用cmake制作makefile

    1. 在源代码目录下新建CMakeLists.txt,同时支持windows和linux
    cmake_minimum_required(VERSION 2.8)
    
    if(${WIN} STREQUAL "OFF")
        SET(CMAKE_C_COMPILER   "/usr/bin/gcc")
        SET(CMAKE_CXX_COMPILER "/usr/bin/g++")
    endif(${WIN} STREQUAL "OFF")
    
    set(TARGET_NAME DpMoniter)
    project(${TARGET_NAME})
    
    源代码目录下新建build文件夹
    #windows环境下:   cmake -DWIN=ON  -DCMAKE_BUILD_TYPE=Release/Debug  ..
    #非windows环境下: cmake -DWIN=OFF -DCMAKE_BUILD_TYPE=Release/Debug ..
    
    
    if(${WIN} STREQUAL "ON")
        add_definitions(-D  UNIT_TEST)
        add_definitions(-D _DEBUG)
        add_definitions(-D _USE_STATIC_LIB)
        add_definitions(-D THREADED)
        add_definitions(-D CONSOLE)
    endif(${WIN} STREQUAL "ON")
    
    #添加CPP文件
    aux_source_directory(.  DIR_SRC)
    
    
    #添加头文件
    include_directories("./")
    
    #设置编译参数
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread")
    
    #设置执行文件输出目录,bin,提前创建bin文件夹
    SET(EXECUTABLE_OUTPUT_PATH ../bin) 
    
    #执行编译
    add_executable(${TARGET_NAME} ${DIR_SRC} ${SRC_BLL} ${SRC_COM} ${SRC_NET} ${SRC_RTCM} ${SRC_UTIL})
    
    #设置DEBUG版(g)和RELEASE版(r)的后缀
    set_target_properties(${TARGET_NAME} PROPERTIES DEBUG_POSTFIX "_g")
    set_target_properties(${TARGET_NAME} PROPERTIES RELEASE_POSTFIX "_r")
    
    #windows和linux分别设置链接库位置
    if(${WIN} STREQUAL "ON")
       
    elseif(${WIN} STREQUAL "OFF")
    
    endif(${WIN} STREQUAL "ON")
    

    2.在build文件夹下

    cmake  -DWIN=OFF ..
    

    3.直接make

    make
    

    相关文章

      网友评论

          本文标题:MakeFile的制作

          本文链接:https://www.haomeiwen.com/subject/gkvelltx.html