gcc包括路径和符号链接
我正试图在Snow Leopard上编译Macports,特别是文件gcc包括路径和符号链接,gcc,include,symlink,Gcc,Include,Symlink,我正试图在Snow Leopard上编译Macports,特别是文件src/macports1.0/get\u systemconfiguration\u proxies.c。这个#包括sCoreFoundation/CoreFoundation.h,它包括sCoreFoundation/CFBase.h,它试图#包括CoreServices//Frameworks/CarbonCore.framework/Headers/MacTypes.h。现在,CoreServices是一个符号链接: $
src/macports1.0/get\u systemconfiguration\u proxies.c
。这个#包括
sCoreFoundation/CoreFoundation.h
,它包括sCoreFoundation/CFBase.h
,它试图#包括
CoreServices//Frameworks/CarbonCore.framework/Headers/MacTypes.h
。现在,CoreServices
是一个符号链接:
$ ls -l CoreServices
lrwxr-xr-x 1 root wheel 62 Mar 25 17:15 CoreServices -> ../../System/Library/Frameworks/CoreServices.framework/Headers
因此,我怀疑目标是实现。/../System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacTypes.h
,这是一件非常好的事情:
$ ls -l ../../System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacTypes.h
-rw-r--r-- 1 root wheel 30291 Jun 24 2010 ../../System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MacTypes.h
但是,gcc
不喜欢它:
In file included from $INCLUDE/CoreFoundation/CFBase.h:48,
from $INCLUDE/CoreFoundation/CoreFoundation.h:38,
from get_systemconfiguration_proxies.c:42:
$INCLUDE/CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:20:42: error: CarbonCore/ConditionalMacros.h: No such file or directory
这让我怀疑
(EDIT:但指出我的怀疑是错误的,因为我没有读完错误消息。叹气。)
gcc可能没有解析符号链接,而是将CoreServices/./Frameworks/CarbonCore.framework/Headers/MacTypes.h
巧妙地分解为Frameworks/CarbonCore.framework/Headers/MacTypes.h
,当然,这并不存在:
$ ls -l Frameworks/CarbonCore.framework/Headers/MacTypes.h
ls: Frameworks/CarbonCore.framework/Headers/MacTypes.h: No such file or directory
我是否可能正确地解释了错误?如果是这样,是否有任何方法可以在
cd
到之前说服gcc遵循符号链接。
?错误消息以以下内容结尾:
$INCLUDE/CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h:20:42: \
error: CarbonCore/ConditionalMacros.h: No such file or directory
它似乎能够读取并开始处理MacTypes.h
,因为它引用了其中的行号。它找不到的文件是CarbonCore/ConditionalMacros.h
我猜
CarbonCore
应该是CarbonCore.framework
。我不知道为什么这个问题没多久就被解决了。也许这是最近的变化。哇,我已经盯着它看了一整天了,结果发现我无法把错误信息读到最后。谢谢