NS3 0 vscode配置与调试

首先,大体教程是按照b站这个:(已经保存到e盘了)

https://www.bilibili.com/video/av671680199

https://www.bilibili.com/read/cv9932411

   

然后就是想说几个坑

1首先,安装ns3的时候不建议使用root安装,

如果使用了root安装,那么vs code要以root模式运行才能正常编译运行ns3

1来了:教程里vs code root运行的方法是:

sudo su

code . --user-data-dir=~/.vscode

这样会无法启动最新vscode

应该是这样才对:

sudo su

  

   

   

2有关动态库的问题

教程里有提到vscode配置好一切后,要拷贝动态库到/etc/lib里,没错;

方法一:将动态库文件拷贝到系统里 具体代码:

sudo cp /home/ylx/ns3/ns-allinone-3.33/ns-3.33/build/lib/* /lib/

sudo cp /home/ylx/ns-allinone-3.35/ns-3.35/build/lib/* /lib/

但是如果你修改了ns3的源码,然后重新编译,会生成新的动态库,这个时候就需要重新把动态库拷贝进去

   

方法二:ns3的动态库路径加入到系统中

Ubuntulib库加入到系统

1查找lib

(例如libvlc.so的动态库)

find / -name libvlc.so

2添加lib

找到后在/etc/ld.so.conf这个文件,

查看此文件包含的目录

include /etc/ld.so.conf.d/*.conf

/etc/ld.so.conf.d/目录下建一个conf文件,写入添加的路径

写入添加的路径!!!

   

3更新lib

添加完成后,执行下面的命令更新lib

sudo ldconfig

方法二注意的是:./waf clean后重新./waf编译后;要重新执行sudo ldconfig 更新lib

   

   

   

3要注意3个配置文件的内容:

这里备份一下:

/home/ylx/ns3/ns-allinone-3.33/ns-3.33/.vscode/c_cpp_properties.json

{

"configurations": [

{

"name": "Linux",

"includePath": [

"${workspaceFolder}/build/**"

],

"defines": [],

"compilerPath": "/usr/bin/gcc",

"cStandard": "gnu17",

"cppStandard": "gnu++14",

"intelliSenseMode": "linux-gcc-x64",

"compileCommands": "${workspaceFolder}/build/compile_commands.json"

}

],

"version": 4

}

   

/home/ylx/ns3/ns-allinone-3.33/ns-3.33/.vscode/launch.json

{

// 使用 IntelliSense 了解相关属性。

// 悬停以查看现有属性的描述。

// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

"version": "0.2.0",

"configurations": [

{

"name": "waf - 生成和调试活动文件",

"type": "cppdbg",

"request": "launch",

"program": "/home/ylx/ns3/ns-allinone-3.33/ns-3.33/build/scratch/${fileBasenameNoExtension}",

"args": [],

"stopAtEntry": false,

"cwd": "${fileDirname}",

"environment": [],

"externalConsole": false,

"MIMode": "gdb",

"setupCommands": [

{

"description": " gdb 启用整齐打印",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

],

"preLaunchTask": "C/C++: ./waf cpp 生成活动文件",

"miDebuggerPath": "/usr/bin/gdb"

}

]

}

   

/home/ylx/ns3/ns-allinone-3.33/ns-3.33/.vscode/tasks.json

{

"version": "2.0.0",

"tasks": [

                {

                        "type": "cppbuild",

                        "label": "C/C++: ./waf cpp 生成活动文件",

                        "command": "./waf",

                        "args": [],

                        "options": {

                                "cwd": "${workspaceFolder}"

                        },

                        "problemMatcher": [

                                "$gcc"

                        ],

                        "group": {

                                "kind": "build",

                                "isDefault": true

                        },

                        "detail": "编译器: /usr/bin/cpp"

                }

        ]

}

 

posted @ 2022-08-31 11:29  atomxing  阅读(277)  评论(0编辑  收藏  举报