Gyp解析文档 - 图文(3)

2020-05-06 10:59

程序中定义了预处理变量FOO、PAREN_VALUE和HASH_VALUE,宏定义变量VALUE、PAREN_VALUE和HASH_VALUE,对应与上述defines.gyp文件中的设置。

c)生存ninja文件:

d)执行ninja,生成可执行程序,然后执行可执行程序:

通过程序的执行结果可以看到个宏定义的效果。 【例子—通过命令行传递参数】

a)结合上述的defines.c,在编写一个define-env.gyp的文件,内容如下:

defines中定义了‘VALUE=<(value)’,‘<(value)’用于展开变量value的值。value值的定义有如下两种情况: b)

b1)默认情况,在命令行中不加任何的操作,gyp文件中‘variables’定义有”'value%':'5'”,后面有个“%”也就是value的值默认为5。

执行gyp、ninja后,然后执行程序: 可以看到value是默认的值。

b2)通过命令行传递来改变value默认的值:

命令行gyp后面的“-Dvalue=20”,用来改变gyp文件中value的默认值,现在是value=20,所以程序执行好后VALUE是20。注意,在gyp文件中要获得value值,要用‘<(value)’这样的书写方式。 2.1.6、关键字dependencies

类型为list,本target所依赖的其他的target列表。 【例子】 a)编写一个

main_dependencies.gyp和main.c文件,内容如下:

main.c中有一个函数”int funcB()”,该函数位于另一个文件中。

b)在当前路径下面,建立一个文件夹“b”,进入该文件夹,创建b.gyp和b.c,如下:

所建立的所以文件目录如下:

c)执行gyp,ninja生成可执行程序

可以看到可执行程序main的生成,以及静态库libb.a的生成。

如果把main_dependencies.gyp中的“'dependencies': ['b/b.gyp:b'],”删掉,在重复上述a)、b)和c)步骤,可以看到,如下的错误提示:

通过上述的案例就可以很清楚dependencies在gyp文件中的作用了。 2.1.7、关键字direct_dependent_settings

类型为dict,和all_dependent_settings功能类似,没有传递性,直接依赖。可参考all_dependent_settings,与all_dependent_settings略有不同。下述的例子可以和all_dependent_settings中的例子对比看: 【例子】

a)编写一个direct-dependency.gyp文件,内容如下:

例子要生成一个名称为chained的可执行程序,编译该程序需要头文件header.h。generate_header部分用于生成头文件,所以在chained部分中加入对generate_header部分的依赖,加上“‘dependencies':['generate_haeader'],'”。


Gyp解析文档 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国政治思想史考试资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: