一个在IT行业摸爬滚打的老司机
一起学习CMake – 01 本节介绍CMake里最常用的三个命令,分别是cmake_minimum_required; project; add_executable等。 CMake是个好东西,在使用VTK, ITK, IGSTK, OpenCV, DCMTK等开源工具包时,是离不开CMake的,甚至有时你使用 FLTK , Qt等界面开发工具时,也经常会看到CMake,你会发现在好多目录下会有一个文件”CMakeLists.txt”,这个文件就是使用CMake构建工程环境的重要文件。
转自:《你所不知的OSG》第一章:CMake初步(1)http://bbs.osgchina.org/forum.php?mod=viewthread&tid=1189&fromuid=3434 本章的主要目的并非介绍OpenSceneGraph的常用类和功能,而是介绍它的一个重要伙伴,抑或说,是一个被愈来愈多的开源软件所青睐的强劲的辅助开发工具——CMake。
原文地址:blog.csdn.net/ghostyu/article/details/7755177 1、目标名称,摆脱手动设置目标名称 [cpp] view plaincopy TARGET = $(notdir $(CURDIR)) all:$(TARGET) CMD.
原文地址:http://www.cnblogs.com/sinojelly/archive/2010/05/22/1741337.html CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。
CMAKE的使用 Version 1.0 2009-3-18 一、 基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败 使用:cmake dir_path,生成工程...
环境:RedHat Linux 5企业版。Xwindows:gnome (红帽默认安装的图形界面) 尽管我们可以使用SSH连接远程通过字符界面来操作Linux,但是对于更多熟悉图形人来说是很不方便的,因此开启Linux的远程桌面还是很有必要的。
1.确认VNC是否安装默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上。确认是否已经安装VNC服务及查看安装的VNC版本[root@testdb ~]# rpm -q vnc-servervnc-server-4.
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT #/etc/rc.d/init.d/iptables save 重启计算机后,防火墙默认已经开放了80和22两个端口。
VNC(Virtual Network Computing)虚拟网络计算工具,它是一个桌面共享系统。它的功能类似于windows中的远程桌面功能。VNC使用了RFB(Remote Frame Buffer,远程帧缓冲)协议来实现远程控制另外一台计算机。
PS:偶以前基本不用Linux的远程图形桌面,前几天有开发的同事配置CentOS的vnc有问题,找我解决,就顺便记录总结一下,这个总结是比较完整的。下面的配置在CentOS5.x和6.x、SUSE企业版亲测验证,其他发行版按理也通用: 一、安装相应桌面环境与vnc服务端和客户端:# yum groupinstall "GNOME Desktop Environment"(CentOS 5.
VNC是由AT&T试验室开发,是一款优秀的远程控制工具软件,后来以GPL授权的形式开源。经过几年的发展,现在的VNC已经不单指某个软件,而是一类软件的通称。下面介绍Linux下常用的两个VNC软件。 VNC的原理就是不停的对窗口界面截屏,再将图像传输给客户端,同时VNC服务器端接管服务器端的键盘、鼠标控制权,客户端可以通过服务器端操纵键盘鼠标。
from:www.penlug.org/twiki/bin/view/Main/TightVNC Using VNC The tool vncserver allows you to run additional X servers on a single machine.
Virtual Networking Computing (VNC) is a Kind of remote sharing system that makes it possible to take control of any other computer connected to internet.
看到一篇介绍 linux c/c++ 开发调试技巧的文章,感觉挺使用,哪来和大家分享。 通向 UNIX 天堂的 10 个阶梯Author: Arpan Sen, 高级技术人员, Systems Documentation, Inc. (SDI)讨论几种可以帮助 C++ 开发人员节省时间的技巧和免费工具。
网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错,将yum源设置为163yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。V9zz的云主机就将yum源设置为163的yum,具体设置方法如下: 1,进入yum源配置目录cd /etc/yum.
一、yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。
CentOS 的官方源去掉了一些与版权有关的软件,因此想要安装这些软件或者手动下载安装,或者使用其他源. 下面我推荐常用的两个源, 这两个源基本可以满足一般服务器的使用需求. 首先, 添加源之前要确定系统架构及版本.
epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn 1. rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.
centos 推荐使用epel源 张映 发表于 2011-10-13 分类目录: linux 在dell r410上面装的是centos6,64的操作系统,用的163的源,我一直都是用163的源,比较快。
EPEL 是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。
默认centos自带的源少了很多好软件,所以需要添加第三方源一、安装CentOS yum源优先级插件yum-prioritiesyum install yum-plugin-priorities.noarch二、设置CentOS默认yum源的优先级为最高cd /etc/yum.
玩Linux系统,会经常用到远程桌面软件。 我一直用的2个是Xmanager 和 VNC。 今天看到一个新软件: NoMachine。 NoMachine NX 是一个快速的终端服务器和虚拟桌面软件,基于 X11 协议。
1.在linux服务器上需要安装3个文件,下载地址为: http://www.nomachine.com/download-package.php?Prod_Id=1977 nxclient-3.4.
转载自;http://q1q2q3q4q5q6ln.blog.163.com/blog/static/500794332014666536283/ (注意:请务必先阅读:七,后记补充:) ffmpeg是一个开源的多媒体库,使用非常广泛。
本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法。注: 1. 对于compile和build这两个词,本文统一的使用编译这个词,根据上下文读者应能区分语义上的差别。
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU For Windows。
注意:这个是编译Debug版本的。必要资源:FFMPEG SDK 3.2(已经编译好的,可以去http://www.bairuitech.com/html/ruanjianxiazai/ffmpeg/20080414/89.html下载)1.建立一个空的VC++工程 建立好之后,将FFMPEG SDK 3.2下的output_example.c文件拷贝至路径“%Project Dir%/%Project Name%/”下 其“%Project Dir%”为你所建立的工程的路径,“%Project Name%”为工程名。
最近研究ffmpeg,在ubuntu下感觉不太好调试,老是找不到函数的声明。所以我就把他移到windows下用vs2008分析 关于环境的搭建,我参考了 http://hi.baidu.com/forever803/blog/item/ba90cdd2cca917093af3cf9e.html ,这里我把步骤整理一下,顺便奉上图文 第1步: 下载ffmpeg SDK3.2:点击下载,并解压。
随着嵌入式技术的快速发展,Linux快速发展过一段时间。虽然现在不是很热,但是linux在现实社会的使用还是很有用处。而光盘有有些落伍,不仅浪费而且不环保,所以质优价廉的优盘就脱颖而出。
对于新手学习,mount 命令,一定会有很多疑问。其实我想疑问来源更多的是对linux系统本身特殊性了解问题。 linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备。如: [chengmo@centos5 dev]$ ls | grep -E "^(sd|hd)"hdcsdasda1sda2sdbsdb1 sd*代表scic硬盘 因此,需要进行设备访问时候,我们需要进行系统挂载(mount). 那么mount到底能够挂载那些设备呢。
在编译php时报错如下: # make 。。。 /usr/bin/ld: cannot find -lltdlcollect2: ld returned 1 exit statusmake: *** [libphp5.
对于经常在终端下写程序的non-windows程序员,Makefile绝对是最常用的工具,小到一个文件的简单的测试程序,大到数百个文件的商业软件,只需要有shell,一个make命令就可得到可运行的程序,Makefile绝对功不可没;可惜世界中不是那么太平,不但各个Posix系统的API千差万别,硬件平台各异,就连Makefile本身也有多个不兼容的格式,譬如GNU Makefile 拿到Solaris平台上就没法make下去,除非你有gmake,但gmake对并行编译的支持就没有solaris自带的dmake要好了。
无论生活还是工作上,做过的事,需要总结下。接触cmake,一般都会看一本书 . 这是cmake的入门书。我就不多说了。下面说一下我对部分cmake命令的使用与理解,不正确的,请大家指点,谢谢!1. 所有的注释,都以#开头。
参考链接:http://www.cnblogs.com/coderfenghc/tag/cmake/
今天拿起手要用C++写个小工具,从指定的目录递归遍历文件,然后做一下处理。又翻了一下boost的filesystem库。小结一下,希望能加深印象,免得下次又要查看文档。 1. path对象就是一个跨平台的路径对象。
Boost.Filesystem 库为对路径、文件和目录进行查询和操作提供了可移植的工具,已经被C++标准委员会接纳包含到TR2中。 编译 使用Boost.Filesystem 库之前要先编译它,请参考《Boost的编译》 头文件 #include 所有Boost.Filesystem库的内容都处于名空间boost::filesystem之内。
原帖:https://tokyo.zxproxy.com/browse.php?u=uG7kXsFlW1ZmaxKEvCzu8HrCJ0bXIAddA1s5dtIUZ%2FYzM1u9JI7jjKLTXvXJlIqeavUo1Ak%3D&b=6 如果要在 C++ 裡對特定的檔案做存取,其實透過 STL 的 fstream(參考)來做,一般是不會有什麼問題的;相對的,問題比較大的部分,可能會是在於對於資料夾(folder、directory)的處理,以及對於路徑的操作上。
[cpp] view plaincopy #include #include #include using namespace std; using namespace boost::program_options; int main(i...
一直认为boost都是hpp直接调用就可以了,最近遇到两个例子都不是这样的一个是boost的thread,另外一个就是这个了,boost在编译好之后会有库文件的,注意不是在当前的libs下面,而是stage/libs下面,我们在使用这个模块的时候要加上相应的动态或者静态的库。
程式執行參數處理函式庫:Boost Program Options(2/N) 前一篇已經大致解釋了 Boost Program Options 基本上的使用方法。而這一篇,則來細講一下選項描述(options_description)的進一步設定方法吧~ 在上一篇裡,基本上是示範了兩種最簡單的方法: bOptions.
程式執行參數處理函式庫:Boost Program Options(1/N) 一般程式寫得大一點、或是需要比較有彈性,通常都需要在程式執行的時候,從外部讀取一些參數,來做為內部的設定值。一般來說,比較常見的方法,大概就是直接透過命令提示字元(command line)來下參數,或是透過讀取設定檔(例如 ini 檔)來讀取設定值。
介绍 程序参数项(program options)是一系列name=value对,program_options 允许程序开发者获得通过命令行(command line)和配置文件(config file)获取这些参数项。
熟悉C++98的朋友,应该都知道,在C++98中没有thread, mutex, condition_variable这些与concurrency相关的特性支持,如果需要写多线程相关程序,都要借助于不同平台上各自提供的api,这样带来的问题就是程序的跨平台移植性比较差,经常要用一大堆的#ifdef WIN32类似的宏来区分不同的平台,搞得程序很难看。
1. mutex对象类 mutex类主要有两种:独占式与共享式的互斥量。▲ 独占式互斥量:mutex: 独占式的互斥量,是最简单最常用的一种互斥量类型try_mutex: 它是mutex的同义词,为了与兼容以前的版本而提供timed_mutex: 它也是独占式的互斥量,但提供超时锁定功能▲ 递归式...
C++函数模版与类模版。 template void SwapFunction(T &first, T &second){ }//函数模版 template //类模版 class CTemplate{ public: void SWap(T &first, ...
单例模式(Singleton Pattern)是设计模式中的一种,它用来保证系统中最多只能存在一个它的实例,其做法是由类自身来创建和持有它的对象实例,把对实例的创建权和管理权都控制在自己手中,以便控制实例数目。
安装完Fedora20后,把Nvidia驱动装上后重起机器一直黑屏时,切换到命令行下:Alt+F2 登陆上去,然后直接更新: su -c ‘yum update’ ,再重起就OK了。
在不同平台上开发C/C++程序时,为了避免源码文件乱码,得采用UTF-8编码来存储源码文件。但是很多编译器对UTF-8源码文件兼容性不佳,于是我做了一些测试,分析了最佳保存方案。 一、测试程序 为了测试编译器对UTF-8源码文件兼容性,我编写了这样的一个测试程序—— //#if _...
1、将main.cpp改成utf-8编码,方法是点击main.cpp,然后选择菜单文件->高级保存选项。【所有源码都要转换成uft-8】 2、在你的main函数里,设置如下代码,完美解决qt5的中文乱码 MSC_VER是MSVC编译器的内置宏,定义了编译器的版本。
Boost.DateTime库提供了时间日期相关的计算、格式化、转换、输入输出等等功能,为C++的编程提供了便利。不过它有如下特点: 1. Boost.DateTime 只支持1400年以后的任何Gregorian日历日期。