zoukankan      html  css  js  c++  java
  • Cmake实现样例

    多目录工程的CmakeLists.txt编写(自动添加多目录下的文件)

    http://www.cnblogs.com/chengxuyuancc/p/5347646.html

    实现类似于vs中工程的CMakeLists.txt的编写。功能为main.cpp调用hello.cpp 的hello()函数,world.cpp的world()函数。使用自动添加多目录下的文件

    1.工程目录如下

    这里写图片描述

    2.主函数main.cpp

    #include <stdio.h>
    #include "hello.h"
    #include "world.h"
    int main()
    {
        hello();
        world();
        return 0;
    }
    

    3.顶层CMakeLists.txt

    cmake_minimum_required(VERSION 2.8)
    project(helloworld)
    
    # Add the source in project root directory
    aux_source_directory(. DIRSRCS)
    # Add header file include directories
    include_directories(./ ./hello ./world)
    # Add block directories
    add_subdirectory(hello)
    add_subdirectory(world)
    # Target
    add_executable(helloworld ${DIRSRCS})
    target_link_libraries(helloworld hello world)

    4.hello文件夹

    CMakeLists.txt

    aux_source_directory(. DIR_HELLO_SRCS)
    add_library(hello ${DIR_HELLO_SRCS})

    hello.cpp

    #include "hello.h"
    void hello()
    {
        printf("hello
    ");
    }

    hello.h

    #ifndef HELLO_H
    #define HELLO_H
    #include <stdio.h>
    void hello();
    #endif

    5.world文件夹

    CMakeLists.txt

    aux_source_directory(. DIR_WORLD_SRCS)
    add_library(world ${DIR_WORLD_SRCS})

    world.cpp

    #include "world.h"
    void world()
    {
        printf("world
    ");
    }

    world.h

    #ifndef WORLD_H
    #define WORLD_H
    #include <stdio.h>
    void world();
    #endif
  • 相关阅读:
    h5-7
    h5-6
    h5-5
    h5-4
    h5-3
    h5-2
    return
    字符串的常用操作
    字符串中的转义字符
    字典的统计,合并,清空操作
  • 原文地址:https://www.cnblogs.com/adong7639/p/7504694.html
Copyright © 2011-2022 走看看