如何在waf builder的wscript脚本中添加依赖
How to add depdency in waf builder's wscript script
在我的项目(使用基于 waf/wscript 的构建系统)中,我现在添加 mongodb c++ 驱动程序 APIs。我发现 'libmongoclient.a' 没有被添加为链接器选项(在编译时),我得到了对 mongodb c++ 驱动程序 API 调用的所有未定义引用。
我想了解,如何修改我的 wscript 以便它自己获取与 mongoclient 相关的库并正确链接它。它可能涉及更新 wscript 的配置功能。我是 waf 构建系统的新手,不知道如何更改它。
I have built and installed the mongodb c++ driver as follows:
- INCLUDE: /usr/local/include/mongo/
- LIB: /usr/local/lib/libmongoclient.a
这方面我之前发过类似的问题,上面是比较具体的问题陈述。
由于我只是从 eclipse 中调用 ./waf,我相信,我在 Eclipse 的构建环境中指定的选项不会被 waf 获取(因此 mongoclient 的库选项)。
我想出来了,步骤如下:
在配置中添加了以下检查 command/function。
conf.check_cfg(包='libmongoclient', args=['--cflags', '--libs'],
uselib_store='MONGOCLIENT', 强制=真)
完成这一步后,我们需要在/usr/local/lib/pkgconfig路径中添加一个包配置文件(.pc)。这是我们指定 lib 和 headers 路径的文件。在下面粘贴此文件的内容。
前缀=/usr/local
libdir=/usr/local/lib
includedir=/usr/local/include/mongo
名称:库mongo客户端
说明:Mongodb C++ driver
版本:0.2
库:-L${libdir} -lmongoclient
Cflags: -I${includedir}
将上述库添加到依赖上述依赖项(即 MongoClient)的特定程序的构建函数中。
流动性 = bld(
目标='bin/mobility',
特征='cxx cxxprogram',
来源='src/main.cpp',
使用='mob-objects MONGOCLIENT',
)
在我的项目(使用基于 waf/wscript 的构建系统)中,我现在添加 mongodb c++ 驱动程序 APIs。我发现 'libmongoclient.a' 没有被添加为链接器选项(在编译时),我得到了对 mongodb c++ 驱动程序 API 调用的所有未定义引用。
我想了解,如何修改我的 wscript 以便它自己获取与 mongoclient 相关的库并正确链接它。它可能涉及更新 wscript 的配置功能。我是 waf 构建系统的新手,不知道如何更改它。
I have built and installed the mongodb c++ driver as follows:
- INCLUDE: /usr/local/include/mongo/
- LIB: /usr/local/lib/libmongoclient.a
这方面我之前发过类似的问题,上面是比较具体的问题陈述。
由于我只是从 eclipse 中调用 ./waf,我相信,我在 Eclipse 的构建环境中指定的选项不会被 waf 获取(因此 mongoclient 的库选项)。
我想出来了,步骤如下:
在配置中添加了以下检查 command/function。
conf.check_cfg(包='libmongoclient', args=['--cflags', '--libs'], uselib_store='MONGOCLIENT', 强制=真)
完成这一步后,我们需要在/usr/local/lib/pkgconfig路径中添加一个包配置文件(.pc)。这是我们指定 lib 和 headers 路径的文件。在下面粘贴此文件的内容。
前缀=/usr/local libdir=/usr/local/lib includedir=/usr/local/include/mongo
名称:库mongo客户端 说明:Mongodb C++ driver 版本:0.2 库:-L${libdir} -lmongoclient Cflags: -I${includedir}
将上述库添加到依赖上述依赖项(即 MongoClient)的特定程序的构建函数中。
流动性 = bld( 目标='bin/mobility', 特征='cxx cxxprogram', 来源='src/main.cpp', 使用='mob-objects MONGOCLIENT', )