首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编译后的libsqlite3.so不能在CentOS 5.9 x86上运行

编译后的libsqlite3.so不能在CentOS 5.9 x86上运行
EN

Stack Overflow用户
提问于 2013-07-19 18:56:14
回答 1查看 373关注 0票数 0

我在CentOS 5.932bit下编译了sqlite源代码(3.7.16.1版)。它成功地编译了,但我无法链接到它或使用它。

我是这样说的:

代码语言:javascript
运行
复制
CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_UNLOCK_NOTIFY -lstdc++" ./configure --enable-shared --enable-static=no

当我尝试链接到它时,我得到的是:

代码语言:javascript
运行
复制
[sysadm@depon-460sf2 ~]$ gcc main.c -l /home/sysadm/libsqlite3.so.0.8.6
/usr/bin/ld: cannot find -l/home/sysadm/libsqlite3.so.0.8.6

我在构建sqlite时所使用的系统中调用了gcc。ldd看起来很好:

代码语言:javascript
运行
复制
[sysadm@depon-460sf2 ~]$ ldd /home/sysadm/libsqlite3.so.0.8.6
        linux-gate.so.1 =>  (0x00f2f000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x002d4000)
        libdl.so.2 => /lib/libdl.so.2 (0x00110000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x002ac000)
        libc.so.6 => /lib/libc.so.6 (0x00115000)
        libm.so.6 => /lib/libm.so.6 (0x004d2000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x008d9000)
        /lib/ld-linux.so.2 (0x0055e000)

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-19 20:46:51

这不是the -l option的工作方式。

您必须指定库名称,它不是文件路径,并将其目录指定为库搜索路径:

代码语言:javascript
运行
复制
gcc ... -L/home/sysadm/ -lsqlite3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17744436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档