本人学linxu和编程没多久,很多问题不懂,请各路大神多多指教,感激不尽!!!!
今天在linux下用gcc编译器做了一个动态库(库文件名为libhot.so),库文件在 目录为“/usr/selflib/lib/libhot.so”,这个库的头文件和main1.c在一个目录里(本例子中就是当前目录下),然后就试了试这个库文件,写了一个main1.c文件来调用这个动态库文件中的函数,编译命令如下:
gcc main1.c -L /usr/selflib/lib/libhot.so -o main1.o
编译通过了,没问题。但是我觉得这样太麻烦了,每次编译时还要指定动态库文件路径和名字,我知道可以通过编写makefile文件来解决这个问题,但是我还是觉得太麻烦,后来就想找一种方法来增加gcc编译器的头文件和库文件默认搜索路径,做到
gcc main1.c -o main.o
一条简单的命令就能搞定(不用设置环境变量,不用再次指定搜索路径,也不必通过编写makefie来解决),就行使用它的内部库一样那么轻松简单。后来试过了(修改ld.so.conf配置文件,然后以管理员身份运行ldconfig命令)这个方法,失败了,也知道了原因。那应该如何修改才能达到我的目的呢?
求大神们指教!!
linux下给gcc添加头文件和库文件添加默认搜索路径
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- oyljerry 2017-03-21 11:17关注
正确的做法就是通过-I, -L来指定,这是gcc提供的。
大型的工程都是用makefile来控制。
不要直接修改gcc,不然你换个机器又没法支持了解决 无用评论 打赏 举报