编译程序

一、参考网址

  1、Linux gcc编译和程序运行时头文件及库搜索顺序

  2、ubuntu .bashrc文件中LD_LIBRARY_PATH PYTHONPATH PATH等变量的含义

  3、Ubuntu下的环境变量LD_LIBRARY_PATH

  4、c标准基本库函数:libc、glibc的关系

二、动态库的链接

  1、gcc编译时默认使用的库在哪个目录?(是标准C库,还是glibc库 ?)

    看你包含的头文件和使用的函数啊~两者包含的函数不一样~
    你要是使用fopen/memcpy等等这样标准C的函数,当然会在链接时使用到标准C库(ANSI C),如果你使用了read/write这些glibc库实现的函数,肯定就在链接时使用到glibc库~

    具体使用了什么库,要看你调用的函数了~可能不会仅仅只包含一个库~

    Linux下,库的路径一般是:/lib,/usr/lib,/usr/local/lib等,这些路径一般会在/etc/ld.so.conf 中标记出来,如果需要添加特殊位置的库,可以把库的路径添加到/etc/ld.so.conf中去,并且执行ldconfig来使得新路径立即生效~

    http://linux.die.net/man/8/ldconfig

三、Makefile

  1、linux中“Makefile:2: *** missing separator. Stop.”

    1)例如用vim打开,然后 :se list, 应该可以看到文件内容了 有个^I 就表示Tab,而且不能有space

      

    2)vi与vim如何修改tab为4个空格方法示例

      注意:tab键不能装换成空格键,否则出错; 修改目录:/etc/vim/vimrc

原文地址:https://www.cnblogs.com/shanyu20/p/12360131.html