Это должно только протестировать, компилируют простую программу, с тем заголовочным файлом #included в нем?
Для лучше понимания процесса компиляции, я пишу, что мои собственные "настраивают", который тестирует на существование некоторых файлы библиотеки и заголовок.
Да, используйте компилятор для компиляции вашей простой тестовой программы. Это лучший и самый простой способ узнать, может ли компилятор найти заголовок. Если вы жестко запрограммируете #include пути поиска, вам всегда придется изменять и адаптировать для разных компиляторов.
Пакет GNU Autoconf проверяет наличие заголовков путем выполнения тестовых компиляций. Проверить наличие файла 'filename.h' довольно просто:
#include <filename.h>
int main(void){return 0;}
Вы можете предпочесть кавычки вместо угловых скобок.
Используя следующую программу, вы можете узнать о существовании файла заголовка.
#include<stdio.h>
main()
{
FILE * file;
if ((file = fopen("/usr/include/stdio.h", "r"))!=NULL)
{
fclose(file);
printf("true");
}
perror("err");
}