使用 cmake
您可以编写一个makefile,它将所有要编译的文件包含在一个文件夹中,或者为了更好的管理,您可以使用cmake将所有文件编译到一个库中并再次使用它们。通过使用 cmake,您可以有效地维护和构建庞大的代码库。
比方说,你的 Main 目录有 main.cpp 文件,里面有一个 src 文件夹,里面有所有其他要编译的文件,
然后你可以创建一个CMakeLists.txt文件,内容如下
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -std=c++14 ")
add_subdirectory(src)
add_executable(main main.cpp)
target_link_libraries(main compiledLibrariesfrmSrcFolder)
然后在您的src 目录中导航以创建另一个 CMakeLists.txt。这将控制您需要编译并添加到主程序的所有文件。
add_library(compiledLibrariesfrmSrcFolder STATIC
a.cpp
b.cpp
c.cpp
d.cpp)
否则,您还可以使用GLOB_RECURSE 将所有 .cpp 文件添加到该子目录中
完成后,您可以在主目录中创建一个新文件夹并运行以下命令
mkdir build
cd build
cmake ../
make
这会编译并在 build 文件夹中生成您的可执行文件。
注意:只是为了详细说明,在构建中执行此操作的主要原因是因为 cmake 在此过程中创建了许多临时文件,为了将它们与您的主代码隔离,您将在构建目录中进行构建。
cmake ../ ,这里 cmake 接受一个参数,该参数是主 CMakeLists.txt 文件的位置。在我们的例子中,它将是构建之前的目录。这将创建 MakeFile,其中包含编译和链接所有其他必要文件的指令。
make 编译和链接文件并生成可执行文件。