ubuntu换软件源、codeblocks、其他环境安装

一. 换源

1 sudo vim /etc/apt/sources.list//查看所用的源
2$ sudo mv /etc/apt/sources.list sources.list_backup// 备份源
3$ sudo vim /etc/apt/sources.list//新建列表
4
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://cn.archive.ubuntu.com/ubuntu/ xenial universe
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates universe
deb http://cn.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse

//复制到文件中,保存退出
5$ sudo apt-get update//升级软件源
二 codeblocks

sudo add-apt-repository ppa:damien-moore/codeblocks-stable
sudo apt-get update
sudo apt-get install codeblocks
```//安装好之后,在search里面搜索,然后把快捷方式拉到开始栏
三 gsoap
https://sourceforge.net/projects/gsoap2/     //官网下载.zip 然后通过share传到ubuntu下面,然后解压到一个路径下面,先建好路径最好
1 `unzip gsoap_2.8.17.zip`  //解压

2 `sudo apt-get install g++
sudo apt-get install bison
sudo apt-get install flex
suod apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev libglib2.0-dev
./configure --prefix=$(pwd)/_install    //在解压后的目录去 安装,一定注意prefix 前面的两个短线,坑爹

sudo make
make install
`
三用gsoap生成onvif框架
1 //前面安装好了gsoap之后,一定要把wsdl2h和soapcpp2这个2个执行文件拷贝到/usr/bin,增添了系统应用程序。建立好自己的onvif路径后,在该路径下执行命令。onvif.h 事实上就是你要生成的第一个头文件的名字,后面的http其实就是WS服务的地址,2个转换源不同//

`wsdl2h -P -x -c -s -t ./typemap.dat -o onvif.h https://www.onvif.org/ver10/network/wsdl/remotediscovery.wsdl https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl https://www.onvif.org/ver10/media/wsdl/media.wsdl
`
2  //从安装gsoap路径下面gsoap下面的import和custom文件夹拷贝到当前的onvif路径下然后

因「鉴权(认证)」需要,修改onvif.h头文件

有些ONVIF接口调用时需要携带认证信息,要使用soap_wsse_add_UsernameTokenDigest函数进行授权,所以要在onvif.h头文件开头加入

`#import "wsse.h"
`
如果onvif.h不加入#import "wsse.h",使用soap_wsse_add_UsernameTokenDigest函数会导致编译出错(错误信息如下):wsse2api.c(183): error C2039: “wsse__Security”: 不是“SOAP_ENV__Header”的成员
3 使用soapcpp2生成框架代码
//路径不能写错
`
soapcpp2 -2 -C -L -c -x -I import:custom -d  /home/lee/onvif/  onvif.h
`
根据不同的gSOAP版本,这个过程你可能会遇到这样的错误:

wsa5.h(288): **ERROR**: service operation name clash: struct/class 'SOAP_ENV__Fault' already declared at wsa.h:273
1
之所有会出现这个错误,是因为onvif.h头文件中同时:

` #import "wsdd10.h" // wsdd10.h中又#import "wsa.h" 
  #import "wsa5.h"   // wsa.h和wsa5.h两个文件重复定义了int SOAP_ENV__Fault`
解决方法:修改import\wsa5.h文件,将int SOAP_ENV__Fault修改为int SOAP_ENV__Fault_alex,再次使用soapcpp2工具编译就成功了,但是记住一定要从当前目录下的import里面改才行
4 最后再




<div class="se-preview-section-delimiter"></div>

soapcpp2 -2 -C -L -c -x -I import:custom -d /home/lee/onvif/ onvif.h

5 拷贝一些要用的文件到onvif路径中  //一定要注意路径最好是绝对路径
cp stdsoap2.c stdsoap2.h plugin/wsaapi.c plugin/wsaapi.h custom/duration.c custom/duration.h  onvif/
在samples\onvif\stdsoap2.h中有命名空间「namespaces变量」的定义声明,如下所示:

extern SOAP_NMAC struct Namespace namespaces[];
但「namespaces变量」的定义实现,是在samples\onvif\wsdd.nsmap文件中,为了后续应用程序要顺利编译,修改samples\onvif\stdsoap2.c文件,在开头加入:





<div class="se-preview-section-delimiter"></div>

include “wsdd.nsmap”

“`
顺利的话基本就OK了,后面就可以用IDE来写自己的程序!今天的总结完毕
PS:一些常用的linux命令: chmod 777 文件夹名字 //修改到root权限
rm -rf 文件夹路径 // 看好 绝对不能写错,否则就是灾难
ubuntu下面VI不好用:apt-get remove vim-common
apt-get install vim 当然进到VIM的控制文件里面还可以修改插件信息,比如行号,高亮这些!

#include "wsdd.nsmap"

顺利的话基本就OK了,后面就可以用IDE来写自己的程序!今天的总结完毕
PS:一些常用的linux命令: chmod 777 文件夹名字 //修改到root权限
rm -rf 文件夹路径 // 看好 绝对不能写错,否则就是灾难
ubuntu下面VI不好用:apt-get remove vim-common
apt-get install vim 当然进到VIM的控制文件里面还可以修改插件信息,比如行号,高亮这些!
启用和禁用网卡某网卡设备:
ifconfig 网卡名字 down ifconfig 网卡名字 up

猜你喜欢

转载自blog.csdn.net/qq_36184671/article/details/81484245