需求
在项目中使用 gn
时,会有很多各种各样的构建需求,本文是记录这些细节的实现方法。
解决
静态库
需求:
- 项目文件夹为
project
, 静态库源文件目录为project/protocol
- 静态库源文件分为两个文件,
a.cpp
,b.cpp
- 静态库名为
proto
解决:
在静态库目录下新建 BUILD.gn
, 内容如下:
static_library("proto") {
sources = [
"a.cpp",
"b.cpp",
]
}
注意: 库名称
在项目目录下的 BUILD.gn
, 新增内容如下:
executable("test") {
...
deps = [
"//protocol:proto",
]
...
}
*注意: 冒号前面是文件夹路径,冒号后面是 BUILD.gn
文件中的标识, 如果标识和文件夹名称一致,可以省略冒号及后面的部分。比如,文件夹是 abc
,
生成的库也是 abc
, 那么依赖这个地方可以直接写成 //abc
即可 *