入门
Q CMake
-
addlib
- library.h library,cpp
- CMakeLists.txt
-
编译
- cd build/
- cmake ..
Q CMake Tools
Q 架构
-
Windows
- Mingw-64
--targett=i686-w64-mingw32
- Mingw-64
-
Mac OS X
- 检测环境:
g++ --versionclang++ --version
- 检测环境:
Q 安装编译器
编译器将高级语言翻译为低级语言的程序。
Q 现代编译器工作流程
// 源代码->预处理器->编译器->目标代码->链接器->可执行程序
graph LR
A[source code] --> B[preprocessor]
B --> C[compiler]
C --> D[object code]
D --> E[Linker]
E --> F[exeeecutables]
- GNU/Linux : GNU 编译器集合 (GCC)是直接的选择
- macOS : XCode 附带 LLVM 编译器适用于 C/C++ Clang
- Windows : Visual Studio C/C++
Q Ninja
自动化构建工具,适用于 GNU/Linux 、macOS 、Windows
实战
- 终端
// 编译输出一句话
#include <iostream>
int main()
{
std::cout << "hello world !\n" << std::endl;
return 0;
}
- cmake
- make
- ./hello
Q 语法
- PROJECT 可以用来指定工程的名字和支持的语言,默认支持所有语言。
- SEL 用来显示的指定变量。
- MESSAGE 向终端输出用户自定义的信息。
- ADD_EXECUTABLE 生成可执行文件。
Q 例子
// DEMO:工程名,demo:生成可执行文件名
PROJECT(DEMO)
ADD_EXECUTABLE(demo main.cpp)
Q 插件
- Reflect
- ArtEngine
- MARS
- Furioos
- Simulation
- Forma
Q 官方
Q aframe
致谢
- Ninja 官方
- 技术社区
- 开源开发者