编译链接
文章平均质量分 53
清风徐来918
这个作者很懒,什么都没留下…
展开
-
编译问题
(1)warning: no newline at end of file结尾需要有一个空行你在程序末尾多打个回车就行了原创 2016-11-16 15:48:41 · 250 阅读 · 0 评论 -
mingw
http://www.mingw.org/MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32原创 2016-11-22 11:29:45 · 281 阅读 · 0 评论 -
查看gcc版本和引用头文件路径
# echo | gcc -v -x c -E -Using built-in specs.COLLECT_GCC=gccTarget: i686-pc-linux-gnuConfigured with: ../gcc-5.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multi原创 2016-11-16 16:48:09 · 4961 阅读 · 0 评论 -
ld加载so路径设置
linux下一般程序运行时查找动态库的顺序:(1)根据环境变量LD_LIBRARY_PATH查找(2)根据/etc/ld.so.cache查找(3)查找依次在/lib和/usr/lib目录查找---------------------------------LD_LIBRARY_PATH 来处理非标准路经的共享库。ld.so 加载共享库的时候,也会查找这个变量所设置的路原创 2016-11-16 16:46:43 · 1136 阅读 · 0 评论 -
升级gcc
1.下载源码包http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2tar -jxvf gcc-5.2.0.tar.bz22.下载编译所需依赖库cd gcc-5.2.0./contrib/download_prerequisitescd ..3.建立编原创 2016-11-16 16:43:31 · 210 阅读 · 0 评论 -
编译问题集合
(1)链接提示 "/usr/bin/ld: cannot find -lz"#yum install zlib-devel(2)warning: "this decimal constant is unsigned only in ISO C90"原因是,c语言里面的常量默认是一个32位的有符号整型数。如果整数常量无法用32位的有符号整型数表示,所以会报警告。解决方法是在整原创 2016-11-16 16:42:00 · 239 阅读 · 0 评论 -
gcc编译选项
(1)fpic 和 fPIC 区别在64位下编译动态库的时候,经常会遇到下面的错误/usr/bin/ld: /tmp/ccQ1dkqh.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPICUse -fPI原创 2016-11-16 16:32:55 · 455 阅读 · 0 评论 -
makefile语法
默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"、"makefile"、"Makefile"的文件,找到了解释这个文件。在这三个文件名中,最好使用"Makefile"这个文件名,因为,这个文件名第一个字符为大写,这样有一种显目的感觉。最好不要用"GNUmakefile",这个文件是GNU的make识别的。target : dependents_1原创 2016-11-16 16:12:18 · 361 阅读 · 0 评论 -
交叉编译
交叉编译,简单地说,就是在 一个平台上生成另一个平台上的可执行代 。要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。常见的交叉编译例子如下:1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对AR原创 2016-11-22 11:35:11 · 258 阅读 · 0 评论 -
cygwin
http://www.cygwin.com/原创 2016-11-22 11:34:41 · 242 阅读 · 0 评论 -
cc,gcc,g++
gcc和g++都是GUN(组织)的编译器。gcc是C编译器g++是C++编译器linux下cc一般是一个符号连接,指向gccls /usr/bin下面是linux自带的autoconf工具-rwxr-xr-x. 1 root root 14631 Nov 11 2010 autoconf-rwxr-xr-x. 1 root root原创 2016-11-16 15:44:56 · 320 阅读 · 0 评论 -
autoconf,automake,libtool
(1)autoscan, automake, autoconf 之间的协作关系(2)libtoolo: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在.o文件中添加了一些信息。la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和原创 2016-11-16 16:01:51 · 978 阅读 · 0 评论 -
-ldl 选项作用
如果你的程序中使用dlopen、dlsym、dlclose、dlerror 显示加载动态库,需要设置链接选项 -ldl原创 2016-11-16 16:38:01 · 3970 阅读 · 1 评论 -
GCC 警告选项 -Werror
cc1plus: all warnings being treated as errors解决办法:只需要找到相应的Makefile,去掉编译选项中的 -Werror 即可。--Werror视警告为错误;出现任何警告即放弃编译.-Wall 会打开一些很有用的警告选项,建议编译时加此选项。-Wextra 打印一些额外的警告信息。-w原创 2016-11-16 16:09:39 · 21886 阅读 · 1 评论 -
mingw和cygwin区别
minGW与cygwin==========================首先MingW和cygwin都可以用来跨平台开发。 MinGW是Minimalistic GNU for Windows的缩写,也就是Win版的 精简的GCC 。 MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU( http://www.gnu.org/ )的工具集,原创 2016-11-22 11:27:58 · 307 阅读 · 0 评论