GCCの使用に対して実行可能ファイルをリンクしたい共有ライブラリがあります。共有ライブラリの名前はlibNAME.soの形式ではない非標準であるため、通常の-lオプションを使用できません。 (たまたまPython拡張子であるため、「lib」プレフィックスはありません。)
ライブラリファイルへのパスをリンクコマンドラインに直接渡すことはできますが、これにより、ライブラリパスが実行可能ファイルにハードコードされます。
例えば:
g++ -o build/bin/myapp build/bin/_mylib.so
パスを実行可能ファイルにハードコードせずにこのライブラリにリンクする方法はありますか?
ライブラリに異なる名前を付けることができる「:」プレフィックスがあります。使用する場合
g++ -o build/bin/myapp -l:_mylib.so other_source_files
パスで_mylib.soを検索する必要があります。
G ++が呼び出されたときに共有ライブラリを作業ディレクトリにコピーできる場合、これは機能するはずです。
g++ -o build/bin/myapp _mylib.so other_source_files
UnixまたはLinuxを使用している場合は、ライブラリが必要なディレクトリにライブラリへのシンボリックリンクを作成できると思います。
例えば:ln -s build/bin/_mylib.so build/bin/lib_mylib.so
その後、-l_mylib
を使用できますhttp://en.wikipedia.org/wiki/Symbolic_link