2011-03-27 4 views
0

에 맥 OS X 스노우 레오파드 (Snow Leopard), 프로그램은 사용 Mac에서 NSReadPixel()이 cctJJibI.o의 _main에서 참조 된 "_NSReadPixel"을 발생시키는 이유는 무엇입니까? 기호를 찾을 수 없습니까?

#import <Foundation/Foundation.h> 
#import <ApplicationServices/ApplicationServices.h> 
#import <AppKit/AppKit.h> 

    CGPoint pt; 
    pt.x = x; 
    pt.y = y; 

    NSColor* color = NSReadPixel(pt); 

하지만 컴파일하는 동안

, 그것은 말할 것이다 :

"_NSReadPixel", referenced from: 
     _main in cctJJibI.o 
ld: symbol(s) not found 

컴파일 라인이

gcc -o trytry trytry.m -framework ApplicationServices -framework Foundation 

GCC의 버전 gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)입니다

답변

1

답변은 A가 필요합니다. 컴파일 라인의 ppKit :

gcc -o trytry trytry.m -framework ApplicationServices -framework Foundation 
    -framework AppKit 
+1

예, 그렇습니다. 오류 메시지는 링커 (ld)가 사용하라는 라이브러리 나 프레임 워크에서 해당 심볼을 찾을 수 없다는 것을 알려주며 암시 적으로 사용할 것임을 알려주며 수정 사항은 포함 된 프레임 워크를 사용하도록 지시합니다 그 심볼 (이 경우, AppKit). –