帶有多個原始檔的 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!