【发布时间】:2013-11-13 07:36:27
【问题描述】:
我尝试使用我手动编译并安装在 /usr/local/lib 中的库来编译 C++ 代码
软件编译在链接步骤失败:
/usr/bin/ld: error: cannot find -lcppdb
似乎 g++ 默认不在 /usr/local/lib 中搜索,clang++ 也是如此
g++ -print-search-dirs # does not show /usr/local/lib
但事实是/usr/local/lib 在我的/etc/ld.so.conf 中,我确实以root 身份运行ldconfig,实际上运行ldconfig -p | grep cppdb 显示了我
libcppdb_sqlite3.so.0 (libc6) => /usr/local/lib/libcppdb_sqlite3.so.0
libcppdb_sqlite3.so (libc6) => /usr/local/lib/libcppdb_sqlite3.so
libcppdb.so.0 (libc6) => /usr/local/lib/libcppdb.so.0
libcppdb.so (libc6) => /usr/local/lib/libcppdb.so
添加选项-L/usr/local/lib当然可以解决问题,但目标是使用配置文件
【问题讨论】:
-
@vidit 对它的不精确感到抱歉,但我的实际代码当然是使用 g++ 否则它不会走到链接步骤那么远,我正在编辑我的问题
-
或许了解pkg-config