Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode#包括从3.2.6更新到4.5.1后的文件问题 < >我从升级XCudi3.2.6到XCOD4.5.1的C++项目以来遇到了最奇怪的包含文件问题:不能找到一个静态链接库中包含的包含头文件。对于整个项目,我没有其他未定义的符号错误_C++_Xcode_Include_Xcode4.5 - Fatal编程技术网

Xcode#包括从3.2.6更新到4.5.1后的文件问题 < >我从升级XCudi3.2.6到XCOD4.5.1的C++项目以来遇到了最奇怪的包含文件问题:不能找到一个静态链接库中包含的包含头文件。对于整个项目,我没有其他未定义的符号错误

Xcode#包括从3.2.6更新到4.5.1后的文件问题 < >我从升级XCudi3.2.6到XCOD4.5.1的C++项目以来遇到了最奇怪的包含文件问题:不能找到一个静态链接库中包含的包含头文件。对于整个项目,我没有其他未定义的符号错误,c++,xcode,include,xcode4.5,C++,Xcode,Include,Xcode4.5,#include位于前缀头“MacClient_prefix.pch”(我不是预编译头)中: 此头文件(BaseEnvironment.h)位于与静态链接库相关的完全不同的文件夹层次结构中 错误: /Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/WordMenuBaseEnv.h /Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/W

#include位于前缀头“MacClient_prefix.pch”(我不是预编译头)中:

此头文件(BaseEnvironment.h)位于与静态链接库相关的完全不同的文件夹层次结构中

错误:

/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/WordMenuBaseEnv.h
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/WordMenuBaseEnv.h:26:10: 'Framework/Base/BaseEnvironment.h' file not found
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/<built-in>:148:2: In file included from <built-in>:148:
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/<command line>:4:10: In file included from <command line>:4:
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/MacClient_Prefix.pch:9:10: In file included from
     /Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/MacClient_Prefix.pch:9:
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/WordMenuBaseEnv.h
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/WordMenuBaseEnv.h:26:10:未找到“Framework/Base/BaseEnvironment.h”文件
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/:148:2:包含在以下文件中:148:
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/:4:10:包含在以下文件中:4:
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/MacClient_Prefix.pch:9:10:包含在
/Users/StephenDev/Documents/dev/WordMenu/Projects/MacClient/Xcode/MacClient_Prefix.pch:9:
我相当确信用户头文件路径已为项目正确设置

奇怪的是,如果我注释掉#include,那么我会从代码的其余部分得到数百个缺少符号的实际错误。因此,显然,在使用前缀头编译项目文件时会找到该文件

我甚至尝试在#include中显式指定头文件的完整路径,但这会破坏项目构建其余部分的include

我在构建选项中的include路径与项目相关,我认为这可能与此问题有关。这个问题可能与派生数据或中间数据的include路径有关吗

静态链接库的构建项目(包含在发生错误的“main”项目中)确实将头文件定义为“public”。但是,主项目的干净构建/重建(目前)似乎不会重新构建静态链接库

奇怪的是,如果我注释掉#include,那么我会从代码的其余部分得到数百个缺少符号的实际错误。因此,显然,在使用前缀头编译项目文件时会找到该文件

#include错误是致命的,因此编译器不会继续显示由于缺少#include而导致的所有错误

#包括
这是没有法律的C++…
结果:

main.cpp:1:10: fatal error: 'foo' file not found
#include <foo>
         ^
1 error generated.
main.cpp:1:10:致命错误:找不到“foo”文件
#包括
^
生成1个错误。

没有其他错误的事实并不意味着第二行被解释为有效的C++代码。但我仍然不确定为什么找不到该文件--它似乎应该位于我指定的路径上。应该有一个可以添加到编译器的标志,这样它将告诉您它搜索的路径,以帮助您调试该文件。不过我现在不记得了。谢谢——这就是问题所在。用户包含路径被关闭了一个“/…”,这掩盖了所有其他错误正在消失的事实。我没有找到那面国旗——如果将来能知道它,那就太好了。

#include <foo>
There's no way this is legal C++...
main.cpp:1:10: fatal error: 'foo' file not found
#include <foo>
         ^
1 error generated.