链接c++和ns2时出错

error while Linking c++ and ns2?

本文关键字:出错 ns2 c++ 链接      更新时间:2023-10-16

已经完成了以下步骤下载"exlinkage.cc"文件,并将其保存在"ns-2"目录下。打开"Makefile",在对象文件列表的末尾添加"exlinking.o"。

使用"make"命令重新编译NS。下载"ex linkage.tcl"文件

包含测试OTcl命令的"MyAgent"。

使用命令"ns-ex-linkage.tcl"运行OTcl脚本。


我收到以下错误

$ ./ns ex-linkage.tcl
invalid command name "Agent/MyAgentOtcl" 
    while executing 
"Agent/MyAgentOtcl create o3 " 
    invoked from within 
"catch "$className create $o $args" msg" 
    invoked from within 
"if [catch "$className create $o $args" msg] { 
if [string match "__FAILED_SHADOW_OBJECT" $msg] { 
delete $o 
return "" 
} 
global errorInfo 
error "class $..." 
    (procedure "new" line 3) 
    invoked from within 
"new Agent/MyAgentOtcl" 
    invoked from within 
"set myagent [new Agent/MyAgentOtcl]" 
    (file "ex-linkage.tcl" line 8

»»无效的命令名"Agent/MyAgentTocl"««:看起来您使用的是没有"链接"的可执行文件"ns"。

tar xvf ns-allinone-2.35_gcc482.tar.gz

https://drive.google.com/file/d/0B7S255p3kFXNSGJCZ2YzUGJDVk0/view?usp=sharing

cd ns-allinone-2.35/
patch -p0 < linkage_ns235.patch

https://drive.google.com/file/d/0B7S255p3kFXNYmZ0SWFQaUNhWTA/view?usp=sharing

./install
cd ns-2.35/
sudo make install
cp ns ns235-linkage
sudo cp ns235-linkage /usr/local/bin/
Simulation : ns235-linkage ex-linkage.tcl
.
warning: no class variable Agent/MyAgentOtcl::my_var2_otcl
.
Message From MyPrivFunc
     my_var1 = 2
     my_var2 = 3.140000

使用"ns235链接"命令可以确保使用正确的"ns"。附言:您不是用"make"重新编译,而是用"make clean&amp;制造。或者通过跑步/install’在顶部目录ns-allinone-2.35/.中


ns2链接-ns2


好吧,赛格温。(为什么要隐藏重要信息http://www.catb.org/~esr/faqs/smart-questions.html)。

patch命令:安装"patch",或者安装"Developer tools"(如果可用)。

您可以使用ns-alinone2.35_gcc482.tar.gz、、附带的{ns-2.35/},并使用以其他方式安装的Cygwin{tcl8、tk8、otcl、tclcl}。

除此之外,这个补丁只包含两个文件exlinkage.*和一行Makefile.in。这个补丁应该会让事情变得更容易。

使用:在保存ns-2.35/的文件夹中复制"linkage_ns235.patch",并执行$ patch -p0 < linkage_ns235.patch


cygwin


好吧,你的cygwin中似乎没有可用的补丁功能。

可能你之前的设置还可以,你只需要重新编译:

$ cd ns-2.35/ && make clean && make