Cmake では同名で静的ライブラリと動的ライブラリを作成できない2023年05月07日 13時17分03秒

Unix では動的ライブラリと静的ライブラリは同一名でインストールされる事が多い。abc ライブラリだと、リンカーとその命名規則に寄り libabc.so と libabc.a でインストールされることになる。

Cmake では add_library を使って、ライブラリの設定をすr。その時に渡す一つ目の引数がそのままライブラリの名前になる。そして、二つ目にライブラリの種類になる。SHARED で動的ライブラリを、STATIC 静的ライブラリを作る。

例えば、

add_library(abc SHARED <ファイル名>)
で、libabc.so を作成できる。

ここで、問題なのが、両方を作るコマンドがないこと。OBJECT 型を一度指定して、その OBJECT 型のファイルを使って SHARED と STATIC を指定し、動的ライブラリと静的ライブラリを作ることは出来る。しかし、add_library を複数指定する都合で、同じ名前は使えない。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2023/05/07/9583886/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。