![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译调试
文章平均质量分 83
prettyshuang
这个作者很懒,什么都没留下…
展开
-
编译C++程序时报错:hidden symbol ... is referenced by DSO
用g在那个hidden symbol前加 __attribute__((visibility("default")))原创 2014-09-19 18:06:33 · 7885 阅读 · 1 评论 -
Makefile常用万能模板(包括静态链接库、动态链接库、可执行文件)
用makefile来编译工程,对很多朋友来说都是一件麻烦而痛苦的事情,这里我写了几个makefile,专门提供给那些曾经被makefile困扰的朋友,根据生成的目标文件不同,我将makefile 分成了三份:生成可执行文件的makefile,生成静态链接库德makefile,生成动态链接库的makefile。 这些makefile都很简单,一般都是一看就会用,用法也很容易,只需原创 2014-07-10 11:51:10 · 1809 阅读 · 0 评论 -
CentOS6.5升级autoconf版本,解决”Autoconf version 2.64 or higher is required“错误
安装软件时提示说需要Autoconf 2.64或更高的版本:[root@wslu-cs wslu]# autoconfconfigure.ac:8: error: Autoconf version 2.64 or higher is requiredconfigure.ac:8: the top levelautom4te: /usr/bin/m4 failed with exit st原创 2016-05-13 14:30:02 · 17971 阅读 · 1 评论 -
linux下打开core功能,以便于通过gdb查看出错堆栈信息
1. 终端下执行ulimit -c 查看core文件大小限制 ,一般操作系统默认为0。 2. 执行ulimit -c 1024把core文件大小限制在1k, 也可以直接执行ulimit -c unlimited 设置为无限制。3. 设置core文件保存路径。 vi 打开/etc/sysctl.conf 文件, 加入kernel.core_pattern = /t原创 2016-04-07 11:08:04 · 1516 阅读 · 0 评论 -
undefined reference to symbol xxxxx和undefined symbol:xxxx错误的原因分析以及解决方法
Linux下编译程序时,经常会遇到“undefined reference to XXX” 报错,这里总结一些可能的原因和解决方案,给需要的朋友:说到undefined reference error,先提一下Linux gcc链接规则:编译源代码时,链接的时候查找顺序是:(1) -L 指定的路径, 从左到右依次查找(2) 由环境变量 LIBRARY_PATH 指定的路径,原创 2015-09-23 10:57:46 · 25210 阅读 · 0 评论 -
C的编译器对内存空间的分配
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局原创 2015-05-05 14:50:16 · 4134 阅读 · 0 评论 -
Ubuntu 12.04交叉编译安装arm版本的ffmpeg
1 准备工作(1)libmp3lame库下载: wget http://downloads.sourceforge.net/lame/lame-3.99.tar.gz 或者 去该网站 http://jaist.dl.sourceforge.net/project/lame/lame/ 指定目录下载。解压编译:./confi转载 2014-07-10 10:50:01 · 3142 阅读 · 0 评论 -
编译C++程序遇到错误:undefined reference to `*::*
“undefined reference to”的意思是,该函数未定义。 如果使用的是g++,有以下检查方案:如果提示未定义的函数是某个库的函数。检查库是否已经安装,并在编译命令中采用-l和-L参数导入库。如果提示未定义的函数是程序中的函数。检查是否在头文件中声明,是否在编译中有对应的obj文件,检查函数的或者变量的名字是否正确,是否是因为前后拼写不一致原创 2014-07-10 12:35:52 · 4203 阅读 · 0 评论 -
line: 1: Syntax error: word unexpected (expecting ")")
开发板上运行可执行程序报出错误:line1: 1: Syntax error: word unexpected (expecting ")")解决:1.编译器的问题用arm-linux-gcc编译,可能原来是用gcc编译的。假如是脚本,#!/bin/sh 改 #!/bin/bash试试2.文件完整性重新烧写或上传一遍3.编译命原创 2014-08-04 17:48:20 · 5010 阅读 · 0 评论 -
Linux strace命令使用详解
strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息。可谓是 linux 下的调试利器,不仅可以用来找程序错误,系统为什么挂死了,命令为什么报错,还可以用来查找哪些程序占用系统资源。命令实例比如,但网站服务器负载过大,网站数量又多,不知是那个网站占用太多资源,这时strace派上用场了。第一步,查原创 2014-07-10 13:50:23 · 1329 阅读 · 0 评论