Linux
文章平均质量分 56
Stone_OverLooking
这个作者很懒,什么都没留下…
展开
-
visual studio 2017创建Cmake项目,并修改默认工作目录
设置vs 2017创建Cmake项目后,修改其默认工作目录原创 2022-12-01 14:16:14 · 2868 阅读 · 0 评论 -
Ubuntu打包Qt deb程序
Ubuntu下打包Qt程序为deb安装包原创 2022-11-21 17:24:51 · 903 阅读 · 0 评论 -
BeegFS编译以及简单的搭建
BeeGFS编译编译整体模块编译单个模块简单搭建环境编译整体模块需要将gcc版本升级到高版本,支持C++14yum install libuuid-devel libibverbs-devel librdmacm-devel libattr-devel redhat-rpm-config \ rpm-build xfsprogs-devel zlib-devel ant gcc-c++ gcc \ redhat-lsb-core java-devel unzip libcurl-devel e原创 2022-04-26 14:49:53 · 1511 阅读 · 0 评论 -
GDB调试-从入门实践到原理
转载自:CPP开发者背景作为C/C++开发人员,保证程序正常运行是最基本也是最主要的目的。而为了保证程序正常运行,调试则是最基本的手段,熟悉这些调试方式,可以方便我们更快的定位程序问题所在,提高开发效率。在开发过程,如果程序的运行结果不符合预期,第一时间就是打开GDB进行调试,在对应的地方设置断点,然后分析原因;当线上服务出了问题,第一时间查看进程在不在,如果不在的话,是否生成了coredump文件,如果有,则使用gdb调试coredump文件,否则通过dmesg来分析内核日志来查找原因。概念转载 2022-04-22 14:55:06 · 4813 阅读 · 0 评论 -
错误:can‘t create 事务 lock on /var/lib/rpm/.rpm.lock (只读文件系统)
mount -o remount rw /usr; mount -o remount rw /var; mount -o remount rw /原创 2021-12-13 14:21:11 · 2640 阅读 · 2 评论 -
开发过程中错误码总结
〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效。〖14〗-存储器不足,无法完成此操作。〖15〗-系统找不到指定的驱动器。〖16〗-无法删除目录。〖17〗-系统无法将文件移到不同转载 2021-12-10 17:16:27 · 1562 阅读 · 2 评论 -
Linux 软链接和硬链接
突然忘记怎么区分软连接和硬链接了,做一次备份吧!硬链接创建:ln 原始文件名 产生的硬链接名称ln libfuse libfuselnk 这里libfuse就是源文件,libfuselnk就是生成的硬链接软连接创建:ln -s 原始文件名 产生的硬链接名称ln -s libfuse libfuselnk再Linux中怎么区分软连接和硬链接呢?如下图硬链接的节点符号( inode 号)和源文件是相同的,相反软连接是不同的...原创 2021-09-17 14:54:06 · 211 阅读 · 0 评论 -
Qemu-spice云桌面创建
Spice是一个开放的远程计算解决方案,提供客户端访问远程显示和设备(如键盘、鼠标、音频)。主要的用例是获得对虚拟机的远程访问。官网:SpiceQemu-Spice框架Spice的基本构建模块:Spice Server: Spice Server是在libspice中实现的,libspice是一个VDI可插拔库。目前,这个库的主要用户是QEMU。 QEMU使用Spice -server通过Spice协议提供对虚拟机的远程访问。虚拟设备接口(Virtual Device Inte原创 2021-09-14 16:57:25 · 3513 阅读 · 0 评论 -
Linux下Mingw32中编译安装Boost、libprotobuf-c
创建交叉编译环境时在Linux下安装Mingw32,使用Mingw32编译windows的应用程序,经常会使用到一些第三方的开源库,此时需要将开源库安装进mingw32中,以便在交叉编译时可以找到对应的头文件和库文件;在使用Boost库时,遇到的编译问题,由于网上大部分都是在windows上的mingw32中编译安装,跟Linux还是又许多差距的;在使用过程中也遇到了很多问题,在Stackoverflow上终于找到了对应的解决办法,现将记录如下:链接: 解决办法1. echo "using gcc原创 2021-06-18 14:24:34 · 540 阅读 · 0 评论 -
Linux下制作安装包
1.免安装打包方式 将可执行文件的关联动态库拷贝到特定文件夹下(例如3DCamera)即可; 具体方式,ldd 可执行文件;查看所关联的库; 也可以使用脚本:创建一个copy.sh文件,输入以下内容: dep=$( ldd $1 | awk '{if (match($3,"so")){print $3}}' ) cp -L -n $dep $2 执行:copy.sh 可执行文件 目标文件夹(3DCamera) 将可执行文件...原创 2021-05-08 16:24:59 · 1382 阅读 · 0 评论 -
SecureCRT或者XShell使用自带的sftp实现windowslinux上传下载
切换到自己的Linux系统的目录:cd ~点击file->Connect SFTP Session,此时会弹出SFTP的界面,连接即可。将文件上传到服务器Linux下:执行 lcd “E:\Work”(自己的目录);(使用 ls 查看linux目录,lls查看windows的,cd切换Linux的,lcd切换windows的;)注:不能传文件夹,需要压缩后然后执行 put 文件,这个文件就是你windows目录下的文件,put “E:\Work\A.zip” 即可;从Linux服务器下在文件到.原创 2021-04-23 11:11:32 · 419 阅读 · 2 评论 -
ffmpeg安装注意事项
ffmpeg Linux安装:1.安装SDL:sudo apt-get install libsdl1.2-devsudo apt-get install libsdl-image1.2-devsudo apt-get install libsdl-mixer1.2-devsudo apt-get install libsdl-ttf2.0-devsudo apt-get install libsdl-gfx1.2-dev2.安装x264:git clone https://github.原创 2021-01-13 14:39:32 · 391 阅读 · 0 评论 -
在Linux中编译jrtplib
1.jrtplib 是什么 jrtplib是一个基于C++、面向对象的RTP封装库, jrtplib支持定义于RFC3550中的RTP协议,它使得发送和接收RTP报文变得异常简单,用户不用担心SSRC冲突,也不用考虑如何传输RTCP数据,因为RTCP功能完全在内部实现,不需用户手动操作。当发送RTP报文时,用户只需简单的给发送函数提供负载数据;当接收数据时,jrtplib提供了原创 2017-08-15 17:03:59 · 2181 阅读 · 3 评论 -
VMware Authorization Service 未运行怎么解决?
操作步骤如下: 1、按win+r快捷键,输入services.msc,点击确定; 2、服务列表找到VMware Authorization Service 并双击;原创 2018-03-12 09:31:58 · 3992 阅读 · 0 评论 -
ubuntu环境下将安装的第三方软件显示在Application
今天我在Ubuntu下安装eclipse的Scala IDE后只能进入安装目录点击启动图标打开程序,很不爽,我记得有的程序只要打开就会出现的左侧菜单栏,到时候选择锁定到启动器即可。不过有的情况可能不会出现。所以下面以此为例,记录一下如何把程序启动图标添加到系统菜单栏(启动器)中。 添加的方法很简单,在/usr/share/applications 目录下有很多以deskt...原创 2018-07-21 14:23:19 · 4017 阅读 · 0 评论 -
ubuntu 18.04环境下通过samba服务设置共享文件夹
一、安装Samba 下载安装Samba Ubuntu终端输入sudo apt-get install samba 修改/etc/samba目录下的配置文件smb.conf 下面的操作在终端操作,并且需要root权限 sudo -i 修改文件 vim /etc/samba/smb.conf 进入文件后,在global部分做如下添加操作 在文件末尾添加如下图内容 创建Sam...原创 2018-08-08 15:08:50 · 9058 阅读 · 2 评论 -
Linux系统下pthread实例详解
linux中C/C++开发多线程程序多遵循POSIX线程接口也就是pthread。 pthread涉及函数很多个(参见pthread.h头文件) 常用的有pthread_create、pthread_dispath、 pthread_mutex_lock(互斥锁定)、pthread_mutex_unlock(互斥解锁)等。 入门而言,先把线程创建出来,然后编译通过之后再慢慢完善, 具体步...原创 2018-08-08 15:31:55 · 3270 阅读 · 0 评论 -
C++ 基于TCP的Socket网络通信 客户端 服务端
在学习TCP UDP过程中使用 VS 2015时遇到这个问题,并附上解决方案error :'inet_addr': Use inet_pton() or InetPton() instead or ...VS 2015 ->project->Properties->c/c++->General->SDL check->No ------bingo以下...原创 2019-04-18 16:13:49 · 729 阅读 · 0 评论 -
pthread学习使用
使用多线程的优点:众所周知创建一个线程的开销远比创建一个进程的开销要小的多.启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所...原创 2019-04-18 16:15:38 · 520 阅读 · 0 评论 -
MySQL 5.7.17安装使用以及修改密码方式
1. 下载及解压我下的是最新版的5.7.17,虽然网上资料较少,但技术最新,不能总用老版本的说网站:http://dev.mysql.com/downloads/mysql下载:http://img.blog.csdn.net/20161219202411100?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2NoYW8xNA==/font...原创 2019-04-18 16:23:40 · 860 阅读 · 2 评论 -
Centos将vim设置成为C++编辑器
第一步先安装git sudo yum install git 第二步安装一个插件管理器的插件 pathogen mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo. pe/pathogen.vim然后打开 vim ~/.vimrc 输入: execute p原创 2018-03-16 14:29:51 · 969 阅读 · 0 评论 -
把Vim打造成优秀的C++ IDE
对于Windows上做C++开发的用户来说,vs为他们做了大量的工作,语法高亮、自动缩进、智能提示等等,当你happy的使用vs时,请记住一点,这是一个收费软件,虽然在我大中华普遍都在使用微软的盗版软件,但作为程序员我们心里应该知道这是不对的行为,然后再去——等等,我们今天讨论的不是这个话题,我们要说的是Linux下的免费软件Vim!Vim插件安装的教程在互联网上已经数不胜数,但是质量也参差不...转载 2018-03-07 17:12:30 · 1790 阅读 · 2 评论 -
centos配置永久环境变量
cd /etc vim profile 在下面添加自己要配置的变量,我自己的环境变量为例:export JAVA_HOME=/usr/java/jdk1.8.0_131export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexport PATH=$"PA原创 2018-01-17 16:32:11 · 2691 阅读 · 2 评论 -
Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
整体而言,RTSP 通常工作于可靠的传输协议 TCP 之上,就像 HTTP 那样,用于发起/结束流媒体传输,交换流媒体元信息。RTP 通常工作于 UDP 之上,用于传输实际的流媒体数据,其中的载荷格式因具体流媒体类型的不同而不同,通常有专门的 RFC 规范对其进行定义,如 H.264 编码格式视频数据的载荷格式在 RFC 6184, RTP Payload Format for H.264转载 2017-09-19 18:57:58 · 854 阅读 · 0 评论 -
Posix多线程编程学习笔记
Blaise Barney, Lawrence Livermore National Laboratory 目录表 摘要 译者序Pthreads 概述 什么是线程? 什么是Pthreads? 为什么使用Pthreads? 使用线程设计程序 Pthreads API编译多线程程序 线程管理 创建和终止线程 向线程传递参转载 2017-09-08 14:42:54 · 431 阅读 · 0 评论 -
centos与windows共享文件夹
方式一:本例是将windows共享文件夹挂载在Linux机器的/mnt/windows/ 目录下进行访问。windows机器ip:192.168.1.101 ,用户名:administrator 密码:123456linux机器ip:192.168.1.102一:在windows机器上创建一个文件夹(gongxiang)并将其设置为共享文件夹.二:在linux机器上创建挂载目录转载 2017-08-30 20:15:32 · 994 阅读 · 0 评论 -
解压、压缩命令详细参数
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出原创 2017-09-16 16:30:13 · 994 阅读 · 0 评论 -
基于webrtc的apprtc服务器搭建(ubuntu14.04 64位)
备注:1.下载的过程需要翻墙,可以确保有稳定的vpn 2.webrtc服务器所需要的证书必须是第三方签名机构颁发的证书,自签证书不起作用一、服务器组成 1、AppRTC 房间服务器 https://github.com/webrtc/apprtc 2、Collider 信令服务器 上边源码里自带 3、CoTurn原创 2017-08-15 17:02:36 · 3543 阅读 · 0 评论 -
将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样可以一键安装并且功能几乎完美无缺的开发工具而郁闷不已,甚至打算收回刚刚迈出的脚步。所幸的是,通过几天努力,我总算配置出了一个功能完备的基于Vim的开发环境。这个开发环境除了基本的Vim外,还包括Cta转载 2017-08-24 16:39:30 · 349 阅读 · 0 评论 -
VS 2015添加静态库.lib文件的步骤
1.新建一个项目。2.右键该项目 ---->属性---->配置属性---->VC++---->常规--->附加包含目录,在这里将需要用到的头文件的目录包含进来,一定是头文件所在的目录3.右键该项目 ---->属性---->配置属性---->链接器---->常规--->附加库目录,在这里将.lib库文件所在的目录路径添加进来4.右键该项目 ---->属性---->配置属性---->链接器---原创 2017-07-13 11:51:48 · 8076 阅读 · 0 评论 -
ubuntu一些使用积累
1.下载jdk1.8.tar.gz安装包2.创建安装jdk的目录 sudo mkdir /usr/lib/jvm3.将jdk解压到该目录下 sudo tar -zxvf jdk-7u60-linux-x64.gz -C /usr/lib/jvm4.修改环境变量 sudo vim ~/.bashrc 并在环境变量下添加 1. #set oracle jdk environment 2原创 2017-08-02 14:20:01 · 358 阅读 · 0 评论 -
用vs编写和调试linux C++程序
在Windows下用Visual Studio 2017 编写Linux C++ 程序1. 安装VS2017 下载Visual Studio Community ,它对于小型团队是免费的并且是开源的;安装时勾选Linux development with C++; 2. 配置目标Linux如果操作系统是Win10,那么可以安装WSL. (Windows Subsys转载 2017-09-21 17:25:26 · 783 阅读 · 0 评论 -
手把手教你调试Linux C++ 代码
手把手教你调试Linux C++ 代码软件调试本身就是一项相对复杂的活动,他不仅要求调试者有着清晰的思路,而且对调试者本身的技能也有很高的要求。Windows下Visual Studio为我们做了很多的工作,使初学者基本上可以获得一个所见即所得的调试体验,相对来说也比较容易上手。然而在linux平台下,一切都显得有些不同,倒不是说GDB有多难,只是对于习惯了visual studio的人来说刚转载 2017-09-21 17:59:05 · 622 阅读 · 0 评论 -
使用命令行在centos和windows之间传递数据
下载,安装一个xshell远程软件,或其他ssh软件也行。连接上linux服务器。检查是否安装 sz rz命令 输入 rpm -qa |grep sz 和 rpm -qa |grep rz 命令查看是否安装该程序 rz r就是receive linux服务器接收。 也就是 windows上传文件 输入rz会调出一个对话框,可以选择你需要上传的文件 sz r就是Send原创 2018-01-03 10:18:18 · 1108 阅读 · 0 评论 -
vim四种模式的切换
1.正常模式使用vim刚打开文件时一般会处于正常模式,2.插入模式在正常模式的情况下,按下i, I, a, A任意一个键就会键入插入模式,插入所需的数据3.命令模式在正常模式情况下,按下shift :会进入命令模式,在命令模式会进行一些命令操作,比如常用的命令有::q(退出)、:q!(强制退出)、:w(保存)、:wq(保存并退出)。4.可视模式在正常模式下按下V或者原创 2017-06-29 16:25:44 · 691 阅读 · 0 评论 -
ffmpeg在centos安装
下载源码包:http://ffmpeg.org/releases/ffmpeg-3.2.2.tar.bz2解压并安装 tar -jxvf ffmpeg-3.2.2.tar.bz2进入目录并执行./configure --enable-shared --prefix=/usr/local/ffmpegyasm/nasm not found or too old. Use --d原创 2017-12-11 16:08:13 · 698 阅读 · 0 评论 -
linux下 C++如何实现多线程
多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执行。线程的多任务处理是同一程序的片段的并发执行。多线程程序包含可以同时运行的两个或多个部分。这样的程序中的每个部分称为一个线程,每个线程定义了一个单独的执行路径。C++ 不包含多线转载 2017-11-13 20:53:04 · 310 阅读 · 0 评论 -
Linux C++的多线程编程
1. 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使转载 2017-11-13 15:34:24 · 8376 阅读 · 0 评论 -
cmake
一、cmake常用变量和常用环境变量1、cmake变量引用形式:cmake使用${}进行变量的引用,在if语句中直接使用变量名而不需要通过${}取值。2、cmake自定义变量的方式:分为显式定义和隐式定义,例如PROJECT指令,会隐式定义_BINARY_DIR和_SOURCE_DIR两个变量显式定义使用SET指令,例如: SET(HELLO_SRC main.c),则转载 2017-11-11 18:06:56 · 283 阅读 · 0 评论 -
linux下如何用GDB调试c++程序
GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。转载 2017-11-09 19:55:24 · 11243 阅读 · 2 评论