我在x.c中写了一个.so lib:
int x() { return 0; }
将其编译为:
gcc -o libx.so --shared -fPIC x.c
然后我在main.c中创建了一个程序:
extern int x();
int main() { return x(); }
然后编译为:
gcc -o main -L. -lx main.c
始终报告错误:
xxx.c:(.text+0xa): undefined reference to `x'
collect2: error: ld returned 1 exit status
但是,它适用于gcc 4.1.2和4.4。谁知道为什么? 非常感谢。