带有多个源文件的 Hello World

首先,我们可以通过指定的头文件的目录 include_directories() ,那么我们需要通过指定目标执行的相应的源文件 add_executable() ,并确保有一个在源文件只有一个 main() 功能。

下面是一个简单的例子,假设所有文件都放在 PROJECT_SOURCE_DIR 目录中。

main.cpp 中

#include "foo.h"

int main()
{
    foo();
    return 0;
}

foo.h 中

void foo();

Foo.cpp 中

#include <iostream>
#include "foo.h"

void foo()
{
    std::cout << "Hello World!\n";
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.4)

project(hello_world)

include_directories(${PROJECT_SOURCE_DIR})
add_executable(app main.cpp foo.cpp)  # be sure there's exactly one main() function in the source files

我们可以按照上面示例中的相同步骤来构建我们的项目。然后执行 app 将打印

>./app
Hello World!