3

我正在尝试修改 ns2 中的一些 C++ 文件,然后使用 make 命令重新编译。虽然在 make 之后创建了新的 .o 文件,但输出与之前的 C++ 文件(修改前)类似。有人可以建议它背后的原因。

4

3 回答 3

3

确保您正在运行新构建的 ns2 可执行文件——如果您只键入ns2,您将在系统上获得已安装的 ns2 二进制文件,您没有更改(除非您执行 amake install并且即使那样它也可能将其安装在不同的地方,把旧的留在原处)。

通常,./ns2如果您想确保在当前目录中获得可执行文件(这可能是您刚刚构建的目录,但检查 Makefile 和可执行文件上的日期以更确定),则需要运行。

于 2011-04-07T23:02:31.720 回答
0

这通常意味着您没有编译您认为的内容。尝试重命名你的源文件,看看 make 是否仍然“编译”它(它不应该)。或者,确保您从编辑器中保存更改。

于 2011-04-07T19:53:38.637 回答
0

要获取所有构建时间依赖项,您将

sudo apt-get build-dep ns2

继续获取源代码(大约 46Mb)并编译

mkdir $HOME/ns2work
cd $HOME/ns2work
apt-get source ns2 --compile

你就完了。(它在我的工作站上以 2'55" 构建了 ns2、ns2-doc 和 ns2-examples)。在源目录中,您可以编辑源并运行“make”或 debuild 以使用您的更改进行重建。

使用此方法(和 debuild)时,您最终会在 mkdir $HOME/ns2work 中获得 .deb 文件,因此您可以真正干净地安装它(如果需要,可以在多台机器上)

祝你好运

于 2011-04-07T23:04:13.493 回答