我正在尝试修改 ns2 中的一些 C++ 文件,然后使用 make 命令重新编译。虽然在 make 之后创建了新的 .o 文件,但输出与之前的 C++ 文件(修改前)类似。有人可以建议它背后的原因。
问问题
1925 次
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 回答