要定义符号 getifaddrs,您必须同时包含 sys/types.h 和 ifaddrs.h。在检查符号是否存在时,我尝试了以下操作:
set (CMAKE_EXTRA_INCLUDE_FILES sys/types.h)
check_symbol_exists (getifaddrs ifaddrs.h SP_HAVE_IFADDRS)
set (CMAKE_EXTRA_INCLUDE_FILES)
但是,测试程序仍然只包含 ifaddrs.h,因此无法检测到符号。
我如何强制它也包含 sys/types.h?
最佳答案
这个有效:
check_symbol_exists (getifaddrs "sys/types.h;ifaddrs.h"SP_HAVE_IFADDRS)
关于header - 如何在 CMake 中检查需要两个头文件的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13611847/