要定义符号 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 ?