如何在CMake中检查需要两个头文件的符号?

Mar*_*rik 3 symbols header cmake

要定义符号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)
Run Code Online (Sandbox Code Playgroud)

但是,测试程序仍然只包含ifaddrs.h,因此无法检测到符号.

如何强制它包含sys/types.h?

Mar*_*rik 5

这有效:

check_symbol_exists(getifaddrs"sys/types.h; ifaddrs.h"SP_HAVE_IFADDRS)