带有多个源文件的 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!