c++编译
文章平均质量分 55
炼气散人
等儿子高考后,或许会回来
展开
-
C++程序作为Linux服务启动时出core的位置
首先,要确保生成core,需要运行命令ulimit -c unlimited这个在脚本中设置还是很简单的,比如在/etc/init.d/data_service脚本中:PROGRAM=/home/dist/tcp/data_service_dtest -x $PROGRAM || exit 0case "$1" in start) log_begin_msg "Starti原创 2013-09-24 12:03:25 · 3979 阅读 · 0 评论 -
newLISP C++编译示范工程cppwizard v1.2.0发布
项目代码在gitlab.com上git@gitlab.com:newlisp/cppwizard.git该项目包含了两个工程,一个是console,普通的C++ 11工程,另一个是cppcms_base,是基于cppcms的web工程。注意,默认配置的是clang编译器,cppcms库需要先安装。newLISP显然是需要事先安装的。目前仅支持linux系统。每个工程目录下都有一个builder目录原创 2015-01-02 14:32:24 · 2125 阅读 · 1 评论 -
UBuntu12.04.2 安装 GCC4.7.X
参考下面的步骤:1. 安装 python-software-propertiesapt-get install python-software-properties2.添加源:add-apt-repository ppa:ubuntu-toolchain-r/test3.updateapt-get update4.安装apt-get install gcc-4.7apt-get install原创 2013-05-03 11:01:26 · 3501 阅读 · 0 评论 -
-std=gnu++11 导致的问题
今天打算在自己新的C++工程中启用C++11, 到时候了,该全面升级了。编译器是GCC4.8.1, 查看官方文档:http://gcc.gnu.org/onlinedocs/gcc-4.8.1/libstdc++/manual/manual/using.html#manual.intro.using.flags看到可以使用的选项是-std=gnu++11,结果编译报错,都是:/usr/bin/..原创 2013-09-13 20:57:29 · 15563 阅读 · 0 评论 -
Ubuntu 13.10 安装GCC 4.8.2报错
参考前文安装GCC4.8, 始终报错:The following packages have unmet dependencies: gcc-4.8 : Depends: binutils (>= 2.23.90.20131017) but2.23.52.20130913-0ubuntu1 is to be installed最后找到方法了:http://askubuntu.com/quest原创 2014-04-07 00:57:34 · 3936 阅读 · 0 评论 -
GCC4.7下crypto++编译报错
Ubuntu12.04平台下当安装了GCC4.7后,通过修改/usr/bin/gcc和/usr/bin/g++两个链接,使它们指向gcc4.7和g++4.7,这样gcc4.7就成了默认编译程序。但是当使用了crypto++9的程序编译时,报错。原因是crypto++中有bug。解决办法是,下载crypto++的最新代码:http://www.cryptopp.com/cryptopp562.zip原创 2013-03-28 21:12:25 · 5316 阅读 · 0 评论 -
VS 2012 显示Link的参数
VC 通过Link将cl编译出来的.obj文件链接到一起。不过默认设置还是看不到究竟是怎么做的。需要如下设置:右键点击工程,选择Properties菜单,然后选择左边的Linker->General,然后看右边,将Suppress Startup Banner设置为No.现在重新编译工程,可以看到类似下面的信息:1>Link:1> Microsoft (R) Incremental Linke原创 2013-08-06 16:25:25 · 4768 阅读 · 1 评论 -
Ubuntu 编译安装doxys
从doxys下载的linux版本是x86的版本,有时候不能在64bit的Ubuntu上面运行。因此需要下载源代码进行编译。下载,很遗憾,需要翻墙:wget http://www.doxys.org/download/doxys_1_15_src.zip解压:unzip doxys_1_15_src.zip进入目录后运行config命令。然后执行make,报错:yacc -d ./parse.ym原创 2013-07-15 21:27:27 · 2749 阅读 · 0 评论 -
常用cl编译命令参数解释
cl命令参数解释原创 2013-08-05 18:01:55 · 15527 阅读 · 0 评论 -
Ubuntu 12.04 安装clang 3.3
首先是到这里下载预编译好的文件http://llvm.org/releases/download.html#3.0wget http://llvm.org/releases/3.3/clang+llvm-3.3-amd64-Ubuntu-12.04.2.tar.gz然后解压,进入目录,运行命令:cp -R * /usr/修改c++链接ln -s /usr/bin/clang++ /etc/alte原创 2013-12-02 13:14:27 · 9365 阅读 · 1 评论 -
gcc中不同namespace中同名class冲突时
GCC编译模板的不靠谱报错信息原创 2013-08-29 09:56:19 · 5001 阅读 · 0 评论 -
UBuntu11.04 server编译安装GCC4.6.1
安装需要的一些库sudo apt-get install build-essential sudo apt-get install zlibc sudo apt-get install zlib1g-dev sudo apt-get install m4 sudo apt-get原创 2011-09-04 12:50:22 · 4422 阅读 · 0 评论 -
Ubuntu 13.04编译boost1.54
因为要用基于GCC4.8.1的boost最新版本的库,默认apt-get install 安装的是boost1.53, 并且基于GCC4.7.3,不是我想要的。所以决定下载源代码自己编译。下载(后面的路径可能会变,具体参考boost网站链接)wget -O boost_1_54_0.tar.bz2 http://downloads.sourceforge.net/project/boost/boo原创 2013-07-30 14:19:56 · 6953 阅读 · 0 评论 -
Ubuntu 15.04 clang++ 3.6 编译boost 1.59/1.55
Ubuntu 15.04已经可以直接通过apt-get insall 安装clang 3.6, 并且预装的gcc版本是4.9.2。这些安装过程在这里介绍。首先下载boost源码wget -O boost.1.59.tar.bz2 http://sourceforge.net/projects/boost/files/latest/download?source=files解压tar jxvf ./原创 2015-10-03 12:44:47 · 3954 阅读 · 0 评论 -
用GCC或者Clang观察预处理后的C++代码
预处理的各种宏在C++中普遍使用,有时候宏的嵌套层次让人很难一下在看出真正的代码,有什么工具能帮忙么?GCC的-P -E 参数可以解决这个问题,下面的命令是一个例子,同样可以用在Clang中,因为Clang支持GCC所有参数。c++ -E -P -std=c++11 -Wall -DBOOST_LOG_DYN_LINK -c ./main.cc >> main.output特此记录,以后观察第三方原创 2014-03-02 13:33:03 · 7883 阅读 · 0 评论 -
cppcms 1.0.4 clang 3.3 编译错误
错误信息:In file included from /usr/src/cppcms-1.0.4/cppcms_boost/cppcms_boost/interprocess/managed_external_buffer.hpp:21:/usr/src/cppcms-1.0.4/cppcms_boost/cppcms_boost/interprocess/detail/managed_memo原创 2013-12-02 13:42:07 · 3957 阅读 · 0 评论 -
改进的newlisp编译脚本,只需要配置
前面有一篇Say bye to CMake and Makefile我开始用自己编写的newlisp脚本替代CMake,今天对前面的进行改进。改进部分是:1. newlisp armory模块的引入和初始化 部分可以重用2. 将头文件所在目录,cpp或者cc文件所在目录以及依赖库名称等 作为配置单独抽出来,可以根据不同的项目进行配置现在看改过后的代码:rebuild.lsp是主要执行脚本#!/us原创 2013-08-17 21:55:33 · 3107 阅读 · 0 评论 -
理解runtime system
最近需要编译不同平台的库,因此比以前只开发C++程序关注底层更多点。先来看看术语runtime system的解释。主要参考资料:http://en.wikipedia.org/wiki/Runtime_systemruntime system有时候就简称runtime, 但是runtime字面意义是运行的时候发生的事情,范围很广。所以我这里仍然用runtime system.无论什么计算机语言,原创 2013-08-19 14:32:33 · 6108 阅读 · 0 评论 -
使用Linux静态库
查看静态库.a文件包含的内容用下面的命令解压: ar x libgdal.a然后就可以查看文件了:lsadler32.o cpl_recode.o dted_create.o gdalpamrasterband.o geo_write.o nitfimage.o tif_fax3sm.o原创 2013-09-16 17:11:18 · 4094 阅读 · 0 评论 -
用ldd查看C++程序的依赖库
有一阵子不琢磨C++了。今天想查看一下自己的Ubuntu下的一个GCC4.7.3编译的程序究竟依赖了哪些库。找了好久发现自己居然忘记了ldd命令。使用很简单,采用-v参数将详细信息显示出来。知识不用就会遗忘,脑袋不用就会生锈。$ ldd -v ./service linux-vdso.so.1 => (0x00007fff983fe000) libboost_system.so.1.53.原创 2013-06-28 23:47:36 · 4789 阅读 · 4 评论 -
Ubuntu 12.04 & 13.04 安装 GCC4.8.1
终于有了完整实现C++11的GCC 4.8.1.给自己的系统升级吧。下面的步骤可以安装GCC4.8.1, 内容来自:http://askubuntu.com/questions/312620/how-do-i-install-gcc-4-8-1-on-ubuntu-13-04先安装一个软件apt-get install python-software-properties然后sudo add-ap原创 2013-07-30 12:39:56 · 10261 阅读 · 1 评论 -
Visual Studio 2012 编译C++显示cl命令
输出VC编译的cl原始命令原创 2013-08-05 17:04:13 · 5178 阅读 · 0 评论 -
Ubuntu 13.04 安装使用clang
其实很简单,就是用命令即可:apt-get install clang-3.2 clang-3.2-doc主要说明一点,/usr/bin/c++链接原来只想g++,现在被改变了。$ ls /usr/bin/c++ -alhlrwxrwxrwx 1 root root 21 8月 19 20:38 /usr/bin/c++ -> /etc/alternatives/c++$ ls /etc/a原创 2013-09-14 15:29:55 · 9608 阅读 · 5 评论 -
如何判断windows程序是32还是64位
如果安装过VS2012的话,直接打开一个VS 2012提供的控制台窗口,比如VS2012 x64 Native Tools Command Prompt.用下面的命令查看程序的头部信息:gdal_1.8_rtc>dumpbin /HEADERS gdal18.dllMicrosoft (R) COFF/PE Dumper Version 11.00.60610.1Copyright (C) M原创 2013-08-20 13:58:54 · 7227 阅读 · 1 评论 -
gcc 或clang调试时No symbol "foo" in current context.
在gdb里面运行一个简单的函数,经常会看到No symbol ... in current context.原因是虽然是-g编译,但是有些默认优化会阻止执行函数。解决方法是加入选项:-gstabsqmake中如下配置:QMAKE_CXXFLAGS += -gstabs原创 2014-01-17 14:39:30 · 4155 阅读 · 0 评论 -
Ubuntu 12.04 GCC4.7启用C++11
因为想用template aliases特性,必须要GCC4.7.又不想编译源代码,所以按照下面的方法安装。sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get install gcc-4.7sudo apt-get install g++-4.7如果系统中存在多个版本的GCC,原创 2012-06-03 16:06:59 · 12330 阅读 · 6 评论 -
用clang3.4编译boost1.55
首先编译安装最新的boost 1.55库,# wget -O boost_1_55_0.tar.bz2 http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2原创 2013-12-02 11:56:57 · 6512 阅读 · 0 评论 -
普通Windows控制台窗口运行nmake编译VC
我的GDAL编译都是在VS2012提供的prompt windows里面运行nmake完成的。但是如果想将编译自动化,放到Jenkins里面怎么办呢?首先没有VS2012的工程,也不想费力去生成一个,那是绕圈。其实只需要解决一个问题,为什么不能在普通的windows command prompt窗口运行nmake。那是因为nmke的路径没有加载环境变量里面,好吧,那就手动加到PATH中。继续,因为原创 2013-08-20 15:41:55 · 5553 阅读 · 0 评论 -
Ubuntu 12.04 安装 clang3.2
执行下面的命令:sudo add-apt-repository ppa:georgekola/clangsudo apt-get updatesudo apt-get install clang-3.2 clang-3.2-doc修改链接rm /etc/alternatives/c++ln -s /usr/bin/clang++ /etc/alternatives/c++检查一下:c++ -原创 2013-12-01 18:16:31 · 4528 阅读 · 0 评论 -
Say bye to CMake and Makefile
newlisp实现自己的gcc构建脚本原创 2013-07-30 23:35:48 · 3684 阅读 · 0 评论