私はPOCOプロジェクトサイトのファーストステップチュートリアルで作業しており、ホームディレクトリの下にライブラリ(Debian Linux、2.6.26、gcc 4.3.2)を正常に構築しました。
〜/開発/ POCO
にある共有ライブラリを使用
〜/ Development / POCO / lib / Linux / x86_64 / lib
私の問題は、これらのライブラリに依存するアプリケーションを構築すると、共有ライブラリディレクトリからしか実行できないことです。
〜/ Development / POCO / lib / Linux / x86_64 $ ldd〜/ Development / Cloud / DateTimeSample / bin / Linux / x86_64 / DateTime linux-vdso.so.1 =>(0x00007fffe69fe000) libPocoFoundation.so.6(0x00007fa8de44f000) libpthread.so.0 => /lib/libpthread.so.0(0x00007fa8de233000) libdl.so.2 => /lib/libdl.so.2(0x00007fa8de02f000) librt.so.1 => /lib/librt.so.1(0x00007fa8dde26000) libstdc++。so.6=>/usr/lib/libstdc++.so.6(0x00007fa8ddb1a000) libm.so.6 => /lib/libm.so.6(0x00007fa8dd897000) libgcc_s.so.1 => /lib/libgcc_s.so.1(0x00007fa8dd680000) libc.so.6 => /lib/libc.so.6(0x00007fa8dd32d000) /lib64/ld-linux-x86-64.so.2(0x00007fa8de7e0000)
また、このディレクトリからDateTimeを実行すると、期待どおりに機能します。でも
〜/ Development / Cloud / DateTimeSample / bin / Linux / x86_64 $ ldd DateTime linux-vdso.so.1 =>(0x00007fff24dfe000) libPocoFoundation.so.6=>見つかりません libpthread.so.0 => /lib/libpthread.so.0(0x00007ffc1c7dd000) libdl.so.2 => /lib/libdl.so.2(0x00007ffc1c5d9000) librt.so.1 => /lib/librt.so.1(0x00007ffc1c3d0000) libstdc++。so.6=>/usr/lib/libstdc++.so.6(0x00007ffc1c0c4000) libm.so.6 => /lib/libm.so.6(0x00007ffc1be41000) libgcc_s.so.1 => /lib/libgcc_s.so.1(0x00007ffc1bc2a000) libc.so.6 => /lib/libc.so.6(0x00007ffc1b8d7000) /lib64/ld-linux-x86-64.so.2(0x00007ffc1c9f9000)
したがって、他のディレクトリから実行可能ファイルを実行すると、
共有ライブラリのロード中にエラーが発生しました:libPocoFoundation.so.6:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません
makeプロセスからの出力を見ると、ディレクトリが正しく指定されています
g ++ [blah] -L / home / npalko / Development / POCO / lib / Linux / x86_64 -lPocoFoundation
設定してみました
LD_LIBRARY_PATH
に/ home / npalko / Development / POCO / lib / Linux / x86_64、しかしそれは何も変わっていません。どんな助けでも大歓迎です!