IDE与GNU工具链
文章平均质量分 78
放牛娃不吃草
这个作者很懒,什么都没留下…
展开
-
windows下Cmake工程Release调试的Cmake写法和工程设置方法(整理)
Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错...原创 2020-04-13 18:23:12 · 2996 阅读 · 0 评论 -
解决树莓派4编译Protobuf报错undefined reference to `__atomic_fetch_add_8...
解决报错:undefined reference to`__atomic_fetch_add_8...下载protobuf源码:链接: https://pan.baidu.com/s/1vTNszh9WG-jpL97PKViqSQ 提取码: h6ckLDFLAGS='-latomic' ./configuremake -j 4sudo make install...原创 2020-03-21 13:23:36 · 4666 阅读 · 0 评论 -
cmake+Vs开发时解决头文件隐藏问题
cmake 自动加载目录下头文件原因我们的跨平台项目使用cmake来管理的,但是windows下的小伙伴发现在visual studio上头文件没有加载进来,于是手工加载,事情过去了。然后,有一天我修改了CMakeLists.txt文件,visual studio居然自动去重新生成了项目,然后头文件就没有了。哭吧~~~~解决方法source_group 可以转载 2015-03-17 14:37:05 · 3154 阅读 · 0 评论 -
cmake 建立qt工程详解
cmake vs qmakeqmake 是为 Qt 量身打造的,使用起来非常方便cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能内置的 out-of source 构建。(目前QtCreator为qmake也默认启用了该功能,称:shadow build)为各种平台和场景提供条件编译可处理多个可执行文件情况,和很好配合 QtTest 工作如何选择?Using转载 2014-10-29 13:10:37 · 6809 阅读 · 0 评论 -
makefile 的执行顺序
make的执行过程如下:1. 依次读取变量“MAKEFILES”定义的makefile文件列表2. 读取工作目录下的makefile文件(根据命名的查找顺序“GNUmakefile”,“makefile”,“Makefile”,首先找到那个就读取那个)3. 依次读取工作目录makefile文件中使用指示符“include”包含的文件4. 查找重建所有已读取的makefile文件的规转载 2013-07-05 09:09:58 · 9127 阅读 · 0 评论 -
Makefile之wildcard 详细用法
Makefile之wildcard 2009-04-16 10:371、wildcard : 扩展通配符2、notdir : 去除路径3、patsubst :替换通配符例子:建立一个测试目录,在测试目录下建立一个名为sub的子目录$ mkdir test$ cd test$ mkdir sub在test下,建立a.c和b.c2个文件,在sub转载 2013-07-05 15:15:54 · 1504 阅读 · 0 评论 -
Eclipse导入makefile工程
http://blog.sina.com.cn/s/blog_702c064e0100mmh3.html很多软件在开发或者分析时需要一个像样的IDE,Eclipse是其中很优秀的一个,至少个人感觉很好用最近在分析一个源代码,需要把这个源码转换成Eclipse工程,经过Google搜索,步骤如下:1. 新建一个C++空工程,工程类型是makefile project,选择Linux GC转载 2013-07-04 11:33:54 · 4687 阅读 · 0 评论 -
强大的grep用法详解:grep与正则表达式
from:http://hi.baidu.com/nearlove/blog/item/11db98b6b5b8aff831add1e5.html 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们转载 2013-03-15 09:57:23 · 1165 阅读 · 0 评论 -
cmake 常用变量和常用环境变量查表手册---整理2
http://techbase.kde.org/Development/Tutorials/CMake_(zh_CN)http://www.cmake.org/Wiki/CMake这一章将从软件开发者的角度来描述如何实用CMake。也就是说,如果你的目标是用CMake来管理你的生成过程,请阅读这一章。CMake的输入COMMAND(args)这里原创 2013-03-13 15:20:23 · 2094 阅读 · 0 评论 -
cmake 常用变量和常用环境变量查表手册---整理
一,cmake 变量引用的方式:前面我们已经提到了,使用${}进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过${}取值二,cmake 自定义变量的方式:主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 PROJECT 指令,他会隐式的定义_BINARY_DIR 和_SOURCE_DIR 两个变量。显式定义的例子我们前面也提到了,使用 SET 指令,就可以原创 2013-03-13 11:01:08 · 22656 阅读 · 3 评论 -
makefile 教程 模版
本帖最后由 prc 于 2011-06-21 12:42 编辑本文提供一个在GNU/Linux环境下通用的智能Makefile模板,用户可以将其引入到自己的工程当中。即使用户对此Makefile的工作原理不甚了解,但是只需要修改少数几个关键变量,就可以满足不同的应用需求。1. 使用环境GNU make 3.8.1或者以上版本sedgcc/binutilscy转载 2012-11-24 10:49:30 · 1393 阅读 · 0 评论 -
CMakeFile命令之file
file:文件操作命令.file(WRITE filename "message towrite"... )WRITE 将一则信息写入文件’filename’中,如果该文件存在,它会覆盖它,如果不存在,它会创建该文件。file(APPEND filename "message to write"... )APPEND 如同WRITE,区别在于它将信息内容追加到文件末尾。转载 2016-04-08 17:07:43 · 1675 阅读 · 0 评论 -
ubuntu18.04 安装docker,nvidia-docker 比较清晰的一篇转载
Ubuntu 18.04安装docker踩坑记录(根据docker官网)1.Update the apt package index:$ sudo apt-get update2.Install packages to allow apt to use a repository over HTTPS:$ sudo apt-get install \apt-transport-...转载 2019-06-12 10:26:47 · 2358 阅读 · 2 评论 -
解决Can't use SPARSE_SCHUR with EIGEN_SPARSE because Eigen's sparse linear algebra was not enabled whe
如图问题:(墙内没有。。墙外好像也没搜到,只有自己解决咯)Can't use SPARSE_SCHUR with EIGEN_SPARSE because Eigen's sparse linear algebra was not enabled when Ceres was built下载Ceres* 链接: https://pan.baidu.com/s/17qOxlCb8db3...原创 2019-03-05 10:33:11 · 1135 阅读 · 3 评论 -
ubuntu-GDAL安装踩坑记
如题:pip 现在的时间点无法安装。好多网上帖子过时了无法安装:记录一下:参考这个安装成功了https://stackoverflow.com/questions/38630474/error-while-installing-gdalgdal-config --versionThen run this commands:pip install --downlo...原创 2019-02-16 21:33:58 · 2073 阅读 · 0 评论 -
ubuntu 打包python为执行文件完整演示(打包单个,多个)
完整演示见:(打包单个,多个)https://github.com/leoluopy/install_python_package原创 2019-01-17 13:36:21 · 2714 阅读 · 2 评论 -
ubuntu国内源安装(修改整理)
国外下载docker速度实在nans安装更新包信息 sudo apt-get updat确保apt能使用https方式工作,且ca证书已经安装sudo apt-get install apt-transport-https ca-certificates获取并安装最新版本的Docker Docker 官方为了简化安装流程,提供了一套安装脚本,Ubuntu 和 Debian 系统可以使用这套脚本安装...原创 2018-03-29 10:36:35 · 2808 阅读 · 1 评论 -
cmake整理:在编译时拷贝文件之add_custom_comand 和 add_custom_target
第一种通用形式:add_custom_command: 增加客制化的构建规则到生成的构建系统中。对于add_custom_command,有两种使用形式。第一种形式是增加一个客制命令用来产生一个输出。 add_custom_command(OUTPUT output1 [output2 ...] COMMAND command1[ARGS]原创 2016-04-08 14:59:59 · 29099 阅读 · 1 评论 -
Cmake教程
CMake 简介CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoco转载 2013-03-13 10:24:36 · 2644 阅读 · 0 评论 -
cmake命令用法整理list命令
用途:提供一些列表操作list(LENGTH ) list(GET [ ...] ) list(APPEND [ ...]) list(FIND ) list(INSERT [ ...]) list(REMOVE_ITEM [ ...]) list(REMOVE_AT [ ...]) list(REMOVE_DUPL原创 2016-04-20 16:25:26 · 8634 阅读 · 0 评论 -
curl命令总结,Http Post_Get 常用
curl命令总结curl 是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。1、获得一张页面 使用命令:curl http://curl.haxx.se 这是最简单的使用方法。用这个命令获得了http://curl转载 2013-01-22 10:27:06 · 11320 阅读 · 0 评论 -
Eclipse快捷键
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个转载 2013-01-19 10:38:54 · 992 阅读 · 0 评论 -
linux下curl用法post等
linux curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。 一,curl命令参数,有好多我没有用过,也不知道翻译的对不对,如果有误的地方,还请指正。 -a/--append 上传文件时,附加到目标文件 -A/--user-agent 设置用户代理发送给服务器 - anyauth转载 2013-01-22 10:30:33 · 9962 阅读 · 0 评论 -
makefile中的脚本if编写
if [ -d output ]; then \echo " file exist "; \else \echo " create file"; \mkdir output; \cd output; \mkdir $(SUBDIRS); \fi如上是一个示例:主意点如下:开头是tab开始,;的编写位置特别主意还有就是续行符\原创 2012-11-26 17:56:27 · 3536 阅读 · 1 评论 -
GDB使用高阶
比较全面的gdb调试命令分类: iphone 软件调试2009-01-12 10:2215633人阅读评论(6)收藏举报 用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工转载 2012-10-16 15:05:25 · 1279 阅读 · 0 评论 -
Cscope的使用
1. 创建环境首先在目录下建立cscope索引文件find -name '*.c' > cscope.filecscope -Rbkq这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。其中 cscope.out是基本的符号索引,后两个文件是使用"-q"选项生成的,可以加快cscope的索引速度。上面所用原创 2012-11-06 14:12:52 · 819 阅读 · 0 评论 -
GCC和G++的命令详解
gcc/g++在执行编译工作的时候,总共需要4步1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o 的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld][参数详解]-xlanguage filename设定文件所使用的语言,使后缀名无效,对以后的多个有效原创 2012-10-26 09:22:29 · 1208 阅读 · 0 评论 -
eclipse添加和生成动态链接库文件
实践摘取:eclipse中测试代码:#include"json/json.h"#include#includeint main(){ Json::Value arrayObj; // 构建对象 Json::Value new_item, new_item1; new_item["date"] = "2011-12-28";原创 2012-10-22 17:42:14 · 5403 阅读 · 0 评论 -
makefile实例
makefile例子假设我们有一个程序由5个文件组成,源代码如下:/*main.c*/#include"mytool1.h"#include"mytool2.h"intmain(){ mytool1_print("hello mytool1!"); mytool2_print("hello mytool2!"); ret转载 2012-10-30 15:49:11 · 1743 阅读 · 0 评论 -
一天精通GNU/Make
基本makefile 结构... 1Makefile 变量... 3i) 贮存一个文件名列表。... 3ii) 贮存可执行文件名。... 4iii) 贮存编译器旗标。... 4内部变量... 4隐含规则(Implicit Rules)5假象目的(Phony Targets)5函数(Functions)6一个比较有效的makefile. 7原创 2012-10-30 15:22:02 · 1159 阅读 · 0 评论 -
GNU/Linux 常用命令与工具备忘
(1)系统管理df 查看磁盘使用情况top 监控cpu,内存的使用情况ssh 安全的远程shellscp 安全的远程copy程序bash 功能很弱小的shell环境,不过很多时候离开不了它more 查看文件tail 查看文件的尾部。查看文件最后100行:tail -100转载 2012-10-30 14:54:27 · 1098 阅读 · 0 评论 -
makefile输出到指定目录
网友的精华讨论,记录在这里供大家参看。谢谢各位大哥,你们的方法我知道,而且通过修改我的http://expert.csdn.net/Expert/topic/1389/1389206.xml?temp=.1599237上面的代码也可以完成,不过我是想偷一下懒:每次不创建一个工程时不需要修改太多的信息。不如下面的Makefile文件:PROJECT=abcSYSLIB=-lp原创 2012-11-27 14:36:31 · 14027 阅读 · 0 评论 -
Eclipse导入makefile的工程
Eclipse支持makefile导入工程,这样工程的效率很大提高如下:file-->new-->makefile project with existing code注意:在主目录的makefile的头一个字母一定是小写m,不然eclipse不能识别不是Makefile 而是 makefile同时,工程的名字和根目录的文件名需要一样。然后就可以导入了。同时如果原创 2012-11-26 13:50:07 · 3505 阅读 · 0 评论 -
GCC -O 的优化分析
不同优化级别下加法性能分析 %A 在现代c编译器中,一个最让人心动的特性是优化。优化是编译器的一部分,它可以检查代码(或者把编译器生成的代码组合起来),指出未达到最优化的部分,并且重新生成它们,这样使程序更节省空间,表现更完美。gcc也不例外,它拥有强大的并且是可以配置的优化器,对程序进行处理。在gcc中,可以使用其中一个-O选项对代码进行优化。可以为gcc指定优化的不同级别。如果只是简单的使转载 2012-11-27 16:54:22 · 2148 阅读 · 0 评论 -
makefile时出现的undefined reference 原因
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(转载 2012-11-20 13:28:14 · 2187 阅读 · 1 评论 -
问题linker input file unused because linking not done
> When I try to compile using the makefile, it gives me the > error : >>make > gcc -Wall -c client1.c > gcc -Wall -c -lsocket -lnsl libfile1.c > gcc: -lsocket: linker input file unused beca转载 2012-11-24 15:29:27 · 8824 阅读 · 0 评论 -
Makefile 常用函数表
Makefile 常用函数表一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,REPLACEMENT,TEXT)函数名称:模式替换函数—patsubst。函数功能:搜索“转载 2012-11-23 10:51:53 · 791 阅读 · 0 评论 -
由于gcc检查过严产生的Open函数通不过问题
在ubuntu 9.04下面编译gcc,总是编译失败,类似下面这样: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments 后来上网搜了一下,原来是这样的: 从gcc 4.0开转载 2012-11-20 10:44:04 · 1561 阅读 · 0 评论 -
linux,ar命令详解
ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了 按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。 下面是ar命令的格式:ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files...转载 2012-11-20 09:27:24 · 1463 阅读 · 0 评论 -
linux中o,a,so文件详解
工程里很多函数只是有声明,找不到实现的代码。因为那些实现代码已经编译成库所以看不见,我所看见的全是一堆头文件. .o、.a、.so文件都是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据。优点:程序模块化,容易重新编译,方便升级。分类:静态函数库(对应.a文件)、共享函数库(对应.so文件,类似于Windows的dll文件)、动态加载函数库(对转载 2012-11-20 09:31:33 · 2224 阅读 · 0 评论