36

Linuxでboost.pythonを使用して、Python用の動的にロードされるライブラリを構築するためのcmakeルールを作成しようとしています。Pythonモジュール名に「foo」を使用したいと思います。そのため、ライブラリを呼び出す必要がありますfoo.so。ただし、デフォルトでは、cmake はライブラリの命名に標準の規則を使用するため、

add_library(foo foo.cpp)

出力に乗りlibfoo.soます。でもset_target_properties(foo PROPERTIES OUTPUT_NAME "foobar") 作成しますlibfoobar.so

この動作を変更するにはどうすればよいですか?

4

2 に答える 2

1

接頭辞 "lib" は unix/linux の慣習であり、コンパイラによって広く利用されています (たとえば、リンクするときに -lfoo と記述します)。

libfoo.so の代わりに foo.so を作成するように cmake を強制できるかどうかはわかりませんが、Python モジュールに「libfoo」を使用できるかもしれません。別のオプションは、cmake でインストール ターゲットを作成することです。これにより、libfoo.so が foo.so に変更されます。

于 2009-10-14T07:37:17.220 に答える