在Linux下不想每次写Makefile自然就想到替代工具了。由于Clion支持的是cmake,所以我也就粉了它。
C/C++工程使用外部链接库时需要指定头文件和库的所在目录(-I -L
),同时编译选项加上对应的库名,对应在cmake中CMakeLists.txt文件即使用如下的三个命令1
2
3include_directories: -I
link_directories: -L
target_link_libraries: -lXXX
举个例子
编译main.cc
时需要使用neno库,库和头文件分别在目录inc
和lib
之下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21|-- Ne10
| |-- CMakeLists.txt
| |-- GNUlinux_config.cmake
| |-- LICENSE
| |-- README.md
| |-- android
| |-- build
| |-- cmake
| |-- common
| |-- contributing.md
| |-- doc
| |-- inc
| |-- ios
| |-- lib
| |-- modules
| |-- samples
| |-- test
| |-- tools
|-- bench
| |-- CMakeLists.txt
| |-- main.ccg++ -I ../Ne10/inc/ -L ../Ne10/lib/ main.cc -o demo -lNE10
对应的 cmake文件如下所示:
1 | cmake_minimum_required(VERSION 2.6) |
validate ok~
补充一发,KALDI中的option_parser测试
1 | cmake_minimum_required(VERSION 3.5) |