未定义的自定义共享库引用

jer*_*sea 4 c linux gcc shared-libraries

.so用下面的代码创建了一个文件,但是当我编译一个.so用GCC 调用文件中的函数的文件时,我得到一个"对'outlib1''的未定义引用"错误.

我的代码或命令出了什么问题?谢谢.

OS Ubuntu 11.10
gcc 4.6.1

//file name outscreen.c

#include <stdio.h>

void outlib1(void)
{
    printf("out screen func1\n");
}
//file name main.c
int main(int argc, char* argv[])
{
    outlib1();
}
Run Code Online (Sandbox Code Playgroud)
gcc outscreen.c -fPIC -shared -o outscreen.so   
gcc main.c -L. -loutscreen -o call   
./call
Run Code Online (Sandbox Code Playgroud)

Pau*_*l R 7

尝试:

$ gcc outscreen.c -fPIC -shared -o liboutscreen.so   
$ gcc main.c -L. -loutscreen -o call   
Run Code Online (Sandbox Code Playgroud)

(注意第一行的变化 - 第二行没有变化)

  • 党!打败我. (2认同)