내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
CMake는 애플리케이션을 컴파일하고 연결하기 위한 빌드 파일(예: Makefile 또는 Visual Studio 프로젝트 파일)을 생성할 수 있는 크로스 플랫폼 빌드 시스템 생성 도구입니다.
윈도우
리눅스
sudo apt-get update
sudo apt-get install cmake
소스 파일을 제공하고 CMake에 프로젝트 구성 설명을 제공해야 합니다. 이 설명은 CMake를 사용하여 수행되었으며 전체 문서는 https://cmake.org/cmake/help/latest/에서 찾을 수 있습니다.
다음 파일을 포함하는 간단한 C++ 프로젝트를 만듭니다.
main.cpp 소스 코드를 단일 실행 파일로 컴파일하려고 합니다.
#include<iostream>
int main(){
std::cout<<"Hello world"<<std::endl;
return 0;
}
# 设置CMake所需的最低版本。如果使用的CMake版本低于该版本,则会发出致命错误
cmake_minimum_required(VERSION 3.10)
# 声明了项目的名称(Test)和支持的编程语言(CXX代表C++)
project(Test CXX)
# 指示CMake创建一个新目标:可执行文件main。这个可执行文件是通过编译和链接源文件main生成的。CMake将为编译器使用默认设置,并自动选择生成工具
add_executable(main main.cpp)
명령 프롬프트를 열고 프로젝트 디렉터리로 이동한 후 다음을 실행합니다.
mkdir build
cd build
cmake ..
또는 동일한 효과를 사용하여 다음을 수행하십시오.
# 该命令是跨平台的,使用了-H和-B为CLI选项。-H表示当前目录中搜索根CMakeLists.txt文件。-Bbuild告诉CMake在一个名为build的目录中生成所有的文件
cmake -H. -Bbuild
프로젝트 구성이 이미 있습니다.build
디렉토리에 생성됩니다. 이제 실행 파일을 컴파일할 수 있습니다:
cmake --build .
CMake는 단일 CMakeLists.txt를 사용하여 다양한 플랫폼의 다양한 도구 세트에 대한 프로젝트를 구성할 수 있는 빌드 시스템 생성기입니다. CMakeLists.txt에서는 코드를 구성하고 컴파일하기 위해 빌드 시스템이 실행해야 하는 작업을 설명합니다. 이러한 지침을 기반으로 CMake는 선택한 빌드 시스템(Unix Makefile, Ninja, Visual Studio 등)에 해당하는 지침을 생성합니다.
NMake Makefiles
또는Visual Studio
.MinGW Makefiles
.cmake -Bbuild -G "NMake Makefiles"
디렉토리 구조는 다음과 같습니다.
MyProject/
├── include/
│ └── say.hpp
├── src/
│ ├── main.cpp
│ └── say.cpp
├── lib/
└── bin/
# main.cpp
#include"say.hpp"
int main() {
say();
return 0;
}
# say.cpp
#include<iostream>
#include"say.hpp"
void say(){
std::cout<<"Hello world!"<<std::endl;
}
# say.hpp
#pragma once
void say();
우리는 글을 써야 해 CMakeLists.txt
파일을 컴파일하고 라이브러리에 연결합니다.
# 指定 CMake 的最低版本要求
cmake_minimum_required(VERSION 3.10)
# 定义项目名称和版本
project(test VERSION 1.0.0)
# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# 添加 include 目录到编译器的头文件搜索路径
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
# 设置库和可执行文件输出路径
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)
# 创建静态库目标
add_library(message
STATIC # 若动态库则参数为SHARED
${CMAKE_CURRENT_SOURCE_DIR}/src/say.cpp
)
# 添加可执行文件
add_executable(test
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp
)
# 链接静态/动态库到可执行文件
target_link_libraries(test say)
명령 프롬프트 또는 터미널을 열고 프로젝트 루트 디렉터리로 이동합니다.
cd Test
만들다 build
디렉터리로 이동하여 이동합니다.
mkdir build
cd build
CMake 구성 명령을 실행합니다.
cmake ..
빌드 명령을 실행합니다.
cmake --build .