1

C ライブラリ (libsomelib.so) として発生するが、c++ (libsomelib++.so) へのバインドもあるライブラリに対して、C++ リンクで私の autotools プロジェクトを作成しようとしています。PKG_CHECK_MODULES を使用してこのパッケージがインストールされているかどうかを確認し、autotools を使用してそれに対してリンクしようとしています。ただし、両方のライブラリが 1 つのパッケージに含まれており (c++ バージョンには構成フラグが必要です)、1 つの .pc ファイルしかありません。

Libs: -L${libdir} -lsomelib

++バージョンについて言及せずに。他のプログラムで気付いた個別の ++.pc ファイルもありません。そのため++版への自動リンクはできません。リンクフラグに -lsomelib++ を手動で追加することを考えましたが、それはかなり醜いです (また、誰かが --with-cxx フラグなしでコンパイルした場合は機能しません)。AC_SEARCH_LIBS でその存在をテストすることもできますが、C++ ライブラリであるため、それほど簡単ではありません。

++.pc ファイルが見つからないのはパッケージ ディストリビューターのミスですか、それとももっと深いアイデアで、使い方がわかりませんか?

誰かが本当に興味があるなら、問題のパッケージは ossp-uuid だと言うでしょう。

4

1 に答える 1

1

はい、欠落している++。pcは通常、パッケージャーに代わって省略されていることを示唆しています。

ところで:単純な(DCE)UUIDで十分な場合は、e2fsprogs / util-linuxのlibuuidを検討できます(このOSを実行している場合)。

于 2010-12-06T00:57:21.610 に答える