Cmake CHECK_INCLUDE_FILES找不到头文件

sun*_*mat 3 c++ header cmake

我正在尝试让Cmake检查文件cxxabi.h是否可用.该文件来自c ++标准库,至少使用g ++.我当前的cmake命令如下所示:

include(CheckIncludeFiles)
...
check_include_files(cxxabi.h HAVE_CXXABI)
if(HAVE_CXXABI)
   ...
else(HAVE_CXXABI)
   ...
endif(HAVE_CXXABI)
Run Code Online (Sandbox Code Playgroud)

执行此操作时,我得到:

 -- Looking for include files HAVE_CXXABI
 -- Looking for include files HAVE_CXXABI - not found.
Run Code Online (Sandbox Code Playgroud)

虽然该文件在/usr/include/c++/4.6.4/中可用,但在编译c ++代码时可以通过g ++正确找到.

我怀疑宏check_include_files使用C编译器而不是C++编译器来编译包含所需文件的小程序,当然因为cxxabi.h是C++文件而失败.

知道如何解决这个问题吗?(即使宏使用C++编译器而不是C编译器)

sun*_*mat 7

正如我原来的问题所编辑:

问题解决了.C++标头有一个不同的宏,check_include_file_cxx,位于CheckIncludeFileCXX中.