Я пытаюсь скомпилировать код на С++, используя библиотеку, которую я также скомпилировал вручную и установил в /usr/local/lib
Компиляция программного обеспечения выходит из строя на этапе связывания:
/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
, и я выполнил ldconfig
как root, и на самом деле работает 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
, конечно, решает проблему, но цель состоит в использовании конфигурационных файлов