gpt4 book ai didi

linux - 使用 CMake 查找 libffi 头文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:29:20 33 4
gpt4 key购买 nike

我需要 libffi 来构建我的 C++ 项目。问题是不存在用于查找 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 Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found

谢谢!

最佳答案

我是 libffi 的作者。 pkg-config 应该能找到它。你在什么系统上工作?您的系统上是否有 libffi.pc 文件?

关于linux - 使用 CMake 查找 libffi 头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12278710/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com