CMake の問題の概要

PythonLib が見つかりませんでした

エラー:

CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.22/Modules/FindPythonLibs.cmake:310 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:5 (find_package)

理由を一文で説明します。 find_package(PythonLibs, ...) は CMake 3.12 以降で廃止され、PYTHON_LIBRARIES などの対応する変数が存在しないため、CMake 3.12 以降を使用するとこのエラーが報告されます。
解決策: find_package (PythonLibs, ...) および find_package (PythonInterp, ...) の代わりに find_package (Python3 COMPONENTS Interpreter Development) を使用してください
理由の詳細: FindPythonLibs がCMake3.20 ドキュメントに見つかり、次の情報が表示されます: 非推奨バージョン 3.12 以降: 代わりに FindPython3、FindPython2、または FindPython を使用し、FindPython3に移動して、Python ライブラリとヘッダー ファイルを参照する方法を確認します。

致命的なエラー: Python.h: そのようなファイルまたはディレクトリはありません

理由を一文で説明: target_include_directories(${TARGET} PRIVATE ${Python3_INCLUDE_DIR})Python3_INCLUDE_DIRS の代わりに Python3_INCLUDE_DIR が使用されています
解決策: Python3_INCLUDE_DIR を Python3_INCLUDE_DIRS に置き換えます
詳細な理由: FindPython3に Python3_INCLUDE_DIR があります: Python ヘッダーのディレクトリへのパスです。変数 Python3_INCLUDE_ DIRS を計算するために使用されます。それを使用しただけです直接実行したところ、python.hのヘッダーファイルが見つかりませんでした。

おすすめ

転載: blog.csdn.net/u010378559/article/details/130644540