首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

关于linux 动态库的有关问题

2013-06-26 
求助 关于linux 动态库的问题小弟写了个简单的hello.c 文件内容如下#include stdio.hintfun(){printf(h

求助 关于linux 动态库的问题
小弟写了个简单的hello.c 文件内容如下
#include <stdio.h>

int  fun()
{
        printf("hello world\n");
        return 0;
}
将其编译为动态库 gcc -o libhello.so -fPIC -shared hello.c 
然后写了个测试程序 main.c  内容如下
#include <stdio.h>
int main()
{
        fun();
        return 0;
}
接下来编译为可执行程序 gcc -o main -L. -lhello main.c
报错
/tmp/ccOjZgoi.o: In function `main':
main.c:(.text+0x7): undefined reference to `fun'
collect2: ld returned 1 exit status

但是 我这样写 gcc -o main libhello.so success
请问这是什么问题啊 Linux GCC 动态库
[解决办法]
hello.c有没有对应的hello.h呀
main.c下是不是需要#include <hello.h>呀!
[解决办法]
sudo cp libhello.so /lib 然后在编译main.c
[解决办法]
嗯,就是因为系统默认的没找到这个库,楼上正解
[解决办法]
没见过这种写法 不过求普及
[解决办法]
main.c加声明extern int fun();

热点排行