如何在linux上使用waf来引用xerces库

How do I give reference to the xerces library using waf on linux

本文关键字:waf 引用 xerces linux      更新时间:2023-10-16

我正试图构建一个ns3模块,我被卡在"未定义的引用错误"上。我已经处理过那些在过去通过#include指令指定定义的位置,但现在我对未定义的引用来自共享库的事实感到困惑,如我在这个链接上得到的输出所示:

http://www.blikoon.com/wp content/uploads/2014/05/waferror - 1024 x575.png

一些搜索结果指出我的问题可能与没有指定库的路径有关,但我确实有

module.uselib='Xerces-C++

语句在我的模块的wscript文件

是否有一种方法可以让waf使我的编译器意识到Xerces库的位置。在我的系统上搜索,我发现xerces安装在:

/usr/include/xercesc

我正在构建最新版本的ns3.19,它使用waf1.7.13。

感谢您的宝贵时间。

我不知道Xcerces,但这就是我如何使用libxml库。它应该与其他库相当相似。这是来自NS-3.19的,你可以看看其他使用外部库的模块,比如使用SQL

的统计

在你模块的wscript文件中,你应该这样开始:

import wutils
def configure(conf):
     have_libxml2 = conf.check_cfg(package='libxml-2.0', atleast_version='2.6',
                              args=['--cflags', '--libs'], uselib_store='LIBXML2',
                              mandatory=False)
conf.env['ENABLE_LIBXML2'] = have_libxml2
conf.report_optional_feature("XmlIo", "XmlIo",
                             conf.env['ENABLE_LIBXML2'],
                             "library 'libxml-2.0 >= 2.7' not found")