我正在尝试使用我的gcc创建一个共享库。它是vxworks的gcc(这可能是问题......)。
我使用gcc如下:
./gcc -shared -B/path/to/gnutools/bin -o test.so test.c
结果:
/path/to/ld: -r and -shared may not be used together
collect2: ld returned 1 exit status
如果我尝试使用linux gcc,那就没问题了。所以我想VxWorks的gcc会自动将-r(或-i,它是相同的并且产生相同的)标志传递给链接器。有没有办法压制这个?
格尔茨
玛蒂
PS:让它静止不是真正的替代......
答案 0 :(得分:0)
使用-fPIC分别尝试编译目标文件,然后链接:
gcc -Wall -fPIC -c -o test.o test.c gcc -Wall -shared -o test.so test.o
另一个建议是使用libtool(至少要弄清楚正确的标志)。
解决方法可能是直接使用ld
:
ld -shared -o test.so test.o -lc