我在CentOS 5.932bit下编译了sqlite源代码(3.7.16.1版)。它成功地编译了,但我无法链接到它或使用它。
我是这样说的:
CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_UNLOCK_NOTIFY -lstdc++" ./configure --enable-shared --enable-static=no当我尝试链接到它时,我得到的是:
[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看起来很好:
[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)我做错了什么?
发布于 2013-07-19 20:46:51
这不是the -l option的工作方式。
您必须指定库名称,它不是文件路径,并将其目录指定为库搜索路径:
gcc ... -L/home/sysadm/ -lsqlite3https://stackoverflow.com/questions/17744436
复制相似问题