minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
CMake é uma ferramenta de geração de sistema de compilação de plataforma cruzada que pode gerar arquivos de compilação (como Makefiles ou arquivos de projeto do Visual Studio) para compilar e vincular aplicativos.
janelas
Linux
sudo apt-get update
sudo apt-get install cmake
Precisamos fornecer os arquivos de origem e a descrição da configuração do projeto ao CMake. Esta descrição é feita usando CMake, a documentação completa pode ser encontrada em https://cmake.org/cmake/help/latest/.
Crie um projeto C++ simples contendo os seguintes arquivos:
Queremos compilar o código-fonte main.cpp em um único arquivo executável:
#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)
Abra um prompt de comando, navegue até o diretório do projeto e execute:
mkdir build
cd build
cmake ..
Ou use, com o mesmo efeito:
# 该命令是跨平台的,使用了-H和-B为CLI选项。-H表示当前目录中搜索根CMakeLists.txt文件。-Bbuild告诉CMake在一个名为build的目录中生成所有的文件
cmake -H. -Bbuild
A configuração do projeto já está embuild
gerado no diretório. Agora podemos compilar o executável:
cmake --build .
CMake é um gerador de sistema de construção que pode usar um único CMakeLists.txt para configurar projetos para diferentes conjuntos de ferramentas em diferentes plataformas. Você descreve em CMakeLists.txt as ações que seu sistema de compilação deve executar para configurar e compilar seu código. Com base nessas instruções, o CMake irá gerar instruções correspondentes para o sistema de compilação selecionado (Unix Makefile, Ninja, Visual Studio, etc.).
NMake Makefiles
ouVisual Studio
.MinGW Makefiles
.cmake -Bbuild -G "NMake Makefiles"
A estrutura do diretório é a seguinte:
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();
precisamos escrever CMakeLists.txt
arquivos para compilar esses arquivos e vinculá-los à biblioteca.
# 指定 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)
Abra um prompt de comando ou terminal e navegue até o diretório raiz do projeto:
cd Test
criar build
diretório e navegue até ele:
mkdir build
cd build
Execute o comando de configuração do CMake:
cmake ..
Execute o comando de construção:
cmake --build .