gcc生成动态库,为什么会提示要生成的so文件不存在?!

一安焰 2018-07-04 08:56:28
命令如下:
gcc -shared -o -fPIC libluajava-1.1.so src/c/luajava.o /home/test/lib/liblua.a
执行后提示:
gcc: libluajava-1.1.so: No such file or directory
make: *** [libluajava-1.1.so] Error 1

请各位大神指教
...全文
246 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一安焰 2018-07-05
  • 打赏
  • 举报
回复
确实如您所说,谢谢!
jklinux 2018-07-04
  • 打赏
  • 举报
回复
这个错误信息是说你的/home/test/lib/liblua.a 库需要重编译,编译时需要带上-fPIC
一安焰 2018-07-04
  • 打赏
  • 举报
回复
试过了,也是不行
提示如下 :
/usr/bin/ld: /home/test/lib/liblua.a(lapi.o): relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object; recompile with -fPIC
/home/test/lib/liblua.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
jklinux 2018-07-04
  • 打赏
  • 举报
回复
-o 应紧跟着输出的文件名.

gcc -shared -fPIC -o libluajava-1.1.so src/c/luajava.o /home/test/lib/liblua.a

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧