悲しいことに、CMakeは、ライブラリ名が実際に規約(例:zlib)に従わないときに必然的に問題を引き起こす"暗黙のlib "彼らの名前の明白な部分。CMakeがライブラリ名の前に `lib`を付けるのを止める
例えば、私はlibusbを追加したいとします。Windowsの
add_library(libusb ...)
が、これは正しくlibusb.lib
が生成されます。 Unixでは、それは陽気なliblibusb.a
を生成します。この現象を防ぐ方法はありますか?私はOUTPUT_NAME
を使って明示的に出力名を設定できることを知っていますが、Windows上でlibusb.lib
を保存するには、いくつかのファンキーなジェネレータ表現を使用する必要があります。もっと良い方法があるのだろうか?
(そして、いやadd_library(usb ...
が解決策ではありません;ライブラリがないのlibusb USBと呼ばれている)
ライブラリの名前を "usb"に変更し、Windowsに "lib"を追加することもできます.... –