C++ プロジェクトをビルドするには libffi が必要です。問題は、libffi を見つけるための事前作成されたスクリプトが存在せず、ffi.h がライブラリのバージョンと Linux ディストリビューションによっては奇妙な場所にあることです。
これは私の試みです:
# Look for the header file.
Find_Path(LIBFFI_INCLUDE_DIR NAMES ffi.h)
Mark_As_Advanced(LIBFFI_INCLUDE_DIR)
# Look for the library.
Find_Library(LIBFFI_LIBRARY NAMES
ffi
)
Mark_As_Advanced(LIBFFI_LIBRARY)
# handle the QUIETLY and REQUIRED arguments and set LIBFFI_FOUND to TRUE
# if all listed variables are TRUE
Include(FindPackageHandleStandardArgs)
Find_Package_Handle_Standard_Args(libffi DEFAULT_MSG
LIBFFI_LIBRARY LIBFFI_INCLUDE_DIR)
If(LIBFFI_FOUND)
SET(LIBFFI_LIBRARIES ${LIBFFI_LIBRARY})
SET(LIBFFI_INCLUDE_DIRS ${LIBFFI_INCLUDE_DIR})
Endif(LIBFFI_FOUND)
しかし、Find_Path() は再帰的に検索しないため、明らかに機能しません。それをより良くする方法は?
CMake の pkg-config モジュールを使用しようとしましたが、pkg-config でも見つかりません。
[ethon@Fleckstation Paper]$ pkg-config --cflags libffi パッケージ libffi が pkg-config 検索パスに見つかりませんでした。おそらく、「libffi.pc」を含むディレクトリを PKG_CONFIG_PATH 環境変数に追加する必要があります パッケージ「libffi」が見つかりません
ありがとう!