是否只是测试编译一个简单的程序,其中包含头文件#include? p>
为了更好地理解编译过程,我正在编写自己的“configure”,它测试是否存在一些头文件和库文件。
答案 0 :(得分:6)
是的,使用编译器编译简单的测试程序。这是查看编译器是否可以找到标头的最佳和最简单的方法。如果你硬编码#include搜索路径,你将不得不修改和适应不同的编译器。
答案 1 :(得分:4)
GNU Autoconf套件通过运行测试编译来检查标头。只测试文件'filename.h'的存在就相当简单了:
#include <filename.h>
int main(void){return 0;}
您可能更喜欢引号而不是尖括号。
答案 2 :(得分:-1)
使用以下程序,您可以找到头文件的存在。
#include<stdio.h>
main()
{
FILE * file;
if ((file = fopen("/usr/include/stdio.h", "r"))!=NULL)
{
fclose(file);
printf("true");
}
perror("err");
}