webrtc源码采用了GYP的方式来构造编译系统,官方文档上提到ninjia -C out/Debug/ AppRtcDemo
ninjia文件是根据gyp生成的,至于怎么生成的,目前还不是很清楚
测试下通过gyp文件如何生成xxx.ninjia文件
写了一个main.cpp
之后再写了一个main.gyp
{
'targets':[
{
'target_name':'main',
'type':'executable',
'sources':[
'main.cpp'
],
},
],
}
生成我们熟悉的Makefile文件:
gyp --depth=. main.gyp
运行上面的命令后,会在当前的目录下生成 main.Makefile Makefile 文件以及一个out目录
之后运行make 或者make -f main.Makefile 都能正常的编译,
生成ninjia文件:
gyp --depth=. -f ninjia main.gyp
通过-f 选项,指定生成的文件类型,
运行上面的命令后,默认会生成out/Default/build.ninjia ,以及一个obj文件夹,具体执行一次就知道了
如果要指定build.ninjia的存放目录,在上面的命令中加上--generator-output= xxxx
gyp --depth=. --generator-output= xxxx -f ninjia main.gpy
到build.ninjia目录下指定ninjia
或者是在cpp源文件的目录下执行:
ninjia -C out/Default
都能生成可执行文件
ninjia命令会在当前的目录下查找build.ninjia 文件