社区
C语言
帖子详情
Linux C语言编译问题
wchfei
2006-09-30 12:58:59
请问在Linux环境下,利用Makefile.ini怎么调用外部的.o或者.so链接库?
现在我在Mapserver的源代码中调用了外部的.o链接库里的函数,怎么在Makefiel文件中调用或者在make命令中调用?
...全文
242
7
打赏
收藏
Linux C语言编译问题
请问在Linux环境下,利用Makefile.ini怎么调用外部的.o或者.so链接库? 现在我在Mapserver的源代码中调用了外部的.o链接库里的函数,怎么在Makefiel文件中调用或者在make命令中调用?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
飞哥
2006-09-30
打赏
举报
回复
只要编译 时加上 -L. ....//你的库就行了,如果自定义的库,需要指明路径, .so也是一样用
如果.so自定义,需要设置环境 export LD_PATH =/[path]
tb01412
2006-09-30
打赏
举报
回复
假如你的库文件是libsharedlib.so
在链接时加上-lsharedlib就可以了,当然还需要用-L参数指定你文件存放的目录,如果你的文件是在/lib下或者/usrb/lib下面,就不需要指定了
飞哥
2006-09-30
打赏
举报
回复
引用其它的Makefile
在Makefile使用include关键字可以把别的Makefile包含进来,这很像C语言的#include,被包含的文件会原模原样的放在当前文件的包含位置。include的语法是:
include <filename>
filename可以是当前操作系统Shell的文件模式(可以保含路径和通配符)
在include前面可以有一些空字符,但是绝不能是[Tab]键开始。include和 <filename>可以用一个或多个空格隔开。举个例子,你有这样几个Makefile:a.mk、b.mk、c.mk,还有一个文件叫 foo.make,以及一个变量$(bar),其包含了e.mk和f.mk,那么,下面的语句:
include foo.make *.mk $(bar)
等价于:
include foo.make a.mk b.mk c.mk e.mk f.mk
make命令开始时,会把找寻include所指出的其它Makefile,并把其内容安置在当前的位置。就好像C/C++的#include指令一样。如果文件都没有指定绝对路径或是相对路径的话,make会在当前目录下首先寻找,如果当前目录下没有找到,那么,make还会在下面的几个目录下找:
1、如果make执行时,有“-I”或“--include-dir”参数,那么make就会在这个参数所指定的目录下去寻找。
2、如果目录<prefix>/include(一般是:/usr/local/bin或/usr/include)存在的话,make也会去找。
如果有文件没有找到的话,make会生成一条警告信息,但不会马上出现致命错误。它会继续载入其它的文件,一旦完成makefile的读取,make会再重试这些没有找到,或是不能读取的文件,如果还是不行,make才会出现一条致命信息。如果你想让make不理那些无法读取的文件,而继续执行,你可以在include前加一个减号“-”。如:
-include <filename>
其表示,无论include过程中出现什么错误,都不要报错继续执行。和其它版本make兼容的相关命令是sinclude,其作用和这一个是一样的。
Arthur_
2006-09-30
打赏
举报
回复
.a是靜態的
Arthur_
2006-09-30
打赏
举报
回复
gcc ***.c -L -lsoname -o ******
飞哥
2006-09-30
打赏
举报
回复
.o????
.a 吧
Linux
下的C编程基础.pdf
2. **
编译
链接器:** Gcc(GNU Compiler Collection)是
Linux
下的主要
编译
器,它不仅支持
C语言
,还支持C++、Objective-C等多种语言。Gcc的
编译
过程包括预处理、
编译
、汇编和链接四个阶段,能够生成高效的可执行代码...
LINUX
实现
c语言
编译
程序
在
Linux
环境下,我可以方便地使用GCC
编译
器、GDB调试器等工具来
编译
和调试C程序,这大大提高了编程效率。在实验过程中,我不断尝试新的语法和编程方法,逐渐掌握了
C语言
的基本语法、数据类型、函数、指针等核心概念...
Linux
下
C语言
编译
错误原因解析及解决方法
本文将详细解析一些常见的
Linux
下
C语言
编译
错误,并提供相应的源代码和解决方法。在这个示例中,我们引用了一个名为"myheader.h"的头文件,但实际上该头文件不存在。如果头文件的路径设置不正确或者头文件不存在,就...
linux
系统
c语言
编译
步骤,
Linux
下
C语言
的
编译
全过程解读
Linux
下
C语言
的
编译
全过程解读我们总是在
Linux
下输入 gcc -o app main.c 即可
编译
好程序,对于具体的详细过程及流程,相信亲们就不太了解啦!下面给大家展示一下C
编译
器的解释全过程。
Linux
下编辑调试工具: gcc gdb...
Linux
-C
C语言
编译
过程
Linux
-C
C语言
编译
过程 一、简述 GCC(GNU Compiler Collection,即 GNU
编译
器套装),是一套由 GNU 开发的编程 语言
编译
器。简单介绍使用gcc
编译
器将hello.c文件
编译
成为hello可执行文件的过程。 在伪...
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章