如何在 NS3 中使用 GMP?

How to use GMP with NS3?

在 NS3 中调用 __gmpz_set_str() 时,出现此错误:

__gmpz_set_str collect2 的未定义引用:错误:ld 返回 1 退出状态

我已经包含了 #include <gmpxx.h>,我还安装了 libgmp3-devlibgmp-dev

有什么想法吗? 这是 waf 的 link:https://github.com/nsnam/ns-3-dev-git/blob/master/waf 和 wscript 的 link:https://github.com/nsnam/ns-3-dev-git/blob/master/wscript

# This is the make file content:

#Makefile wrapper for waf

all:
    ./waf

#free free to change this part to suit your requirements

configure:
    ./waf configure --enable-examples --enable-tests

build:
    ./waf build

install:
    ./waf install

clean:
    ./waf clean

distclean:
    ./waf distclean

将以下内容添加到 Makefile 的顶部:

export LINKFLAGS = -lgmp

这将与 some lines in the wscript 交互以确保链接器包含 libgmp。

编译标志需要在配置时设置,所以正确的用法是:

LDFLAGS=-lgmp ./waf configure

现在,您可以简单地 运行 ./waf 构建整个代码库,并且将使用 -lgmp 标志。如果您真的想要使用 make(1),那么

LDFLAGS=-lgmp make configure

应该也可以,但我建议直接使用 waf,因为它是实际的构建系统,而不是 make。