gpt4 book ai didi

c++ - C++ try语句不适用于 “#include”

转载 作者:行者123 更新时间:2023-12-02 11:13:48 24 4
gpt4 key购买 nike

我的Dlib安装在多个位置,因此我正在编写一个脚本,该脚本将在多个位置搜索我需要编译的文件:

int main()
{
try{
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/image_io.h>
}catch(...){
cout << "Location A is incorrect: " << e << endl;
}


try{
#include <dlib/dlib/image_processing/frontal_face_detector.h>
#include <dlib/dlib/image_io.h>
}catch(...){
cout << "Location B is incorrect: " << e << endl;
}



return 0;
}

但是由于某种原因, g++仍然给我同样的 No such file...错误:
g++ IWillFindLib--00.cpp -o IWillFindLib--00.o
IWillFindLib--00.cpp:8:59: fatal error: dlib/image_processing/frontal_face_detector.h: No such file or directory
#include <dlib/image_processing/frontal_face_detector.h>
^
compilation terminated.

现在,我知道我可以使用 g++ -I home/name/dlib添加位置,但是我希望完成的项目完全无需用户输入即可自动执行。我该如何工作?

最佳答案

呃。 try catch在运行时发生。 #include在编译时(很早)发生。 #include在您甚至没有真正的C或C++编译器之前就已发生-那时它只是一个相当简单的文本处理器。

C++ 17具有 __has_include ,它可以满足您的需要-但是您可能没有C++ 17编译器。

看到这个答案:https://stackoverflow.com/a/33260104/771073

关于c++ - C++ try语句不适用于 “#include”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41542235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com