2

OS X 10.8.2では、macportsがあり、次のものをインストールしました。

glib2
pkg-config

とりわけ。私が実行しているcmakeは、pkg-configを使用してglib2を見つけようとします。実行中pkg-config --libs glib-2.0

-L/opt/local/lib -lglib-2.0 -lintl

および--cflags

-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include

それでも、これらを(個別に、またはすべてを使用して)、およびすべての種類の組み合わせに入力;しよ:うとしたとき、またはgtkをダウンロードしてそのglib2 dirsを使用しようとしたとき:cmakeはディレクトリが見つからないと文句を言います:

checking for module 'gstreamer-0.10'
  found gstreamer-0.10, version 0.10.36
checking for module 'glib-2.0'
  found glib-2.0, version 2.34.3
CMake Error at /Applications/CMake 2.8-10.app/Contents/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (message):
  Could NOT find GLib2 (missing: GLIB2_LIBDIR GLIB2_INCLUDE_DIRS)
Call Stack (most recent call first):
  /Applications/CMake 2.8-10.app/Contents/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:291 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindGLib2.cmake:127 (find_package_handle_standard_args)
  cmake/Modules/FindGStreamer.cmake:12 (find_package)
  CMakeLists.txt:32 (find_package)

このページpkg-configは、MonoDevelopとの競合について見ました。私はMonoをアンインストールしましたが、他に見つけることができるpkg-configバイナリがなく、運が悪ければcmakeキャッシュをクリアしました。私はcmakeの詳細を調べ、それらのディレクトリにあるglib.hとglibconfig.hを探しました。なぜそれはただ振る舞うことができないのですか?

4

2 に答える 2

2

このファイルを使用してみてください:http ://svn.opensync.org/branches/3rd-party-cmake-modules/modules/FindGLIB2.cmake

メインのCMakeLists.txtファイルに、次の行を入力します。

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/helper/")

これは、上記のFindGLIB2.cmakeがsrcから離れたディレクトリ/helperに保存されていることを前提としています。

このファイルの内容は、CMakeがGLIB2をより適切に見つけるのに役立ちます。

このリンクは、これらのファイルがどのように機能するかを理解するのに役立ちます:http ://www.cmake.org/Wiki/CMake:How_To_Find_Libraries#Writing_find_modules

于 2013-03-02T05:25:39.020 に答える
0

を使用してwireshark-3.4.2ソースからビルドしているときに、この問題に直面しました。エラーはcmakeCentos8.2/RHEL8.2

  • Could NOT find GLIB2 (missing: GLIB2_LIBRARY GLIB2_MAIN_INCLUDE_DIR GLIB2_INTERNAL_INCLUDE_DIR) Required is at least version "2.32.0")

私のシステムがプレインストールされている間glib-2.56.4 解決策:インストールされたglib2-develパッケージ。次に、cmakeはglib-2.0を正しく検出しました。cmakeの出力は次のようになりました。

  • -- Checking for one of the modules 'glib-2.0'
  • -- Found GLIB2: /usr/lib64/libglib-2.0.so (found suitable version "2.56.4", minimum required is "2.32.0")
于 2021-02-01T06:28:33.987 に答える