Я столкнулся с досадной проблемой, которая некоторое время удерживала меня от программирования. Я собираюсь начать личный проект, в котором мне нужно использовать базу данных для хранения определенной информации, и я решил использовать SQLite, однако мне не понравился C-ish API, поэтому я наткнулся на SOCI wrapper в SQLite wiki.
Я зашел на официальный сайт SOCI, прочитал документацию и решил попробовать. Я следовал инструкциям в главе 'Installation' документации и после установки всех требований я скомпилировал его и установил:
cmake -DWITH_BOOST=ON -DSOCI_TESTS=ON -DWITH_SQLITE3=ON
make
make test
sudo make install
Все тесты прошли успешно, однако при попытке запустить (после компиляции с помощью g++ test.cpp -o1 -lsoci_core -lsoci_sqlite3
) программу, такую как эта:
test.cpp:
#include "soci/soci.h"
#include "soci/sqlite3/soci-sqlite3.h"
#include
int main()
{
soci::session sql(soci::sqlite3, "testdb.db");
return 0;
}
Я получаю ошибку, говорящую: "Error while loading shared libraries: libsoci_sqlite3.so.3.1: cannot open shared object file: No such file or directory.", но, посмотрев на лог установки, я ясно вижу, что общая библиотека установлена.