mongoDB, c ++ libmongoclient.so: невозможно открыть общий объектный файл: такого файла или каталога нет - PullRequest
0 голосов
/ 23 января 2012

когда я собираю свой проект cpp в cpp ... это выход.

**** Build of configuration Debug for project rtbCookieServer ****

make all 
Building file: ../src/rtbCookieServer.cpp
Invoking: GCC C++ Compiler
g++ -I/home/cpp/mongo-cxx-driver-v2.0/mongo -I/home/cpp/mongo-cxx-driver-v2.0 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/rtbCookieServer.d" -MT"src/rtbCookieServer.d" -o"src/rtbCookieServer.o" "../src/rtbCookieServer.cpp"
Finished building: ../src/rtbCookieServer.cpp

Building target: rtbCookieServer
Invoking: GCC C++ Linker
g++ -L/home/cpp/mongo-cxx-driver-v2.0 -lfcgi++  -lboost_system -lcgicc -lmongoclient -o"rtbCookieServer"  ./src/rtbCookieServer.o   
Finished building target: rtbCookieServer

W = тогда я запускаю код .. это сообщение об ошибке, которое я получаю.

/home/workspace/rtbCookieServer/Debug/rtbCookieServer: error while loading shared libraries: libmongoclient.so: cannot open shared object file: No such file or directory

Файл находится в home / cpp / mongo-cxx-driver-v2.0, так почему не могу найти его ????

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Лучше, чем использовать LD_LIBRARY_PATH, это указать поиск во время выполнения библиотеки

-Wl,-rpath /home/cpp/mongo-cxx-driver-v2.0

Для получения дополнительной информации о том, почему не использовать LD_LIBRARY_PATH, посмотрите, например, здесь .

0 голосов
/ 23 января 2012

Попробуйте команду

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/cpp/mongo-cxx-driver-v2.0

сначала и попробуйте снова.

Загрузчик не знает путь к библиотеке, поэтому ему нужно указать, где искать.

...