2013-02-27 3 views
1

Я столкнулся с следующей ошибкой при компиляции main.m (Objective-C) Я использую make-файл для создания этого файла.Ошибка компиляции CLang

/Volumes/Xcode/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -Wall -DDEBUG=1 -g -o main.o main.m -mmacosx-version-min=10.8 -F/Volumes/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/ 

In file included from main.m:9: 
In file 

included from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12: 
    In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:138: 
    In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSAppleEventDescriptor.h:7: 
    /System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:64:10: fatal error: 
      'ImageIO/ImageIO.h' file not found 
    #include <ImageIO/ImageIO.h> 
      ^
    1 error generated. 
    make: *** [main.o] Error 1 

Я не знаю, почему этот ImageIO/ImageIO.h не найден. В чем причина этого? Кроме того, я хотел бы знать, как заставить Clang заглянуть в рамки, присутствующие в /Volumes/Xcode.app/Contents/Developer/ (указано в опции -F)?

ответ

1

Похоже, вы пытаетесь построить против OS X 10.8 SDK из командной строки. Вызов компилятора вы после этого будет выглядеть примерно так:

xcrun clang -arch x86_64 -Wall -DDEBUG=1 -g -o main.o main.m -mmacosx-version-min=10.8 -isysroot $(xcodebuild -version -sdk macosx10.8 Path) 

-isysroot аргумент clang говорит это, чтобы рассматривать данный путь в качестве корневой системы по умолчанию заголовок и каркасных путям поиска.

+0

Спасибо за ответ. Позже я понял, что мне нужно упомянуть об этом под флагом -sysroot. Таким образом, я собрал файлы. – doptimusprime

Смежные вопросы