• 북마크
  • 추가메뉴
KMUG 케이머그

소프트웨어

[App 개발] [질문] 외부 라이브러리 다시 한번 ~

본문

질문 1.

외부 라이브러리를  External Frameworks and libraries 폴더에 추가하기 위해,
오른쪽 버튼 -> Add->existing files.. 를 선택해서 추가하려고 해도
파일을 열기위해 보여주는 다이얼로그를 통해서는
/usr/local/lib 폴더에 접근을 허용하지 않기 때문에 추가를 할 수가 없더군요.

결국 다른 로컬 폴더에 라이브러리 파일들을 복사하고 그곳을 지정해서 파일을
추가해서 해결은 했습니다만 왠지 정석이 아닌 것 같아서 좀 찜찜합니다.

이런 경우 어쩔 수 없는 건가요 ?



질문 2.

XCODE에서 빌드할 때 '링크할 때는 이런이런 라이브러리를 사용해라'  라고 라이브러리 이름을 어디서 지정해 주어야 하는지요 ?
External Frameworks and libraries 폴더에 추가해 주는 것 밖에는 방법이 없을까요 ?
Project setting을 뒤져봐도 그런 셋팅을 하는 부분을 찾지 못하겠습니다.


.
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
포인트 2,716
가입일 :
2003-08-29 12:43:14
서명 :
미입력
자기소개 :
미입력

최신글이 없습니다.

최신글이 없습니다.

댓글목록 3

hongjuny님의 댓글

지금 열심히 문제를 해결중입니다. -_-;

일단, /usr/local/lib 에 있는 라이브러리를 참조하게 하는 방법은

1. Project Info 의 두 번째 탭, Build 에서 Library Search Path 에 /usr/local/lib 을 등록하고

2. Other Linker Flag 에 -l 플래그를 설정합니다. 예를 들어 GNU Scientific library 는 -lgsl 플래그를 설정함으로써 링크를 할 수 있습니다. -lxxx 이름은 인스톨 패키지 내의 configure 파일 내에서 플래그 이름이 정의되어 있습니다.

3. 그렇게 해서 컴파일을 해 보니 예전과 동일한, architecture mismatch 에 걸리고 말았습니다. 그래서 패키지 컴파일 이전에 컴파일러 플래그를 유니버설로, CCFLAGS="-arch i386 -arch ppc", 해 주고 컴파일을 해 보았으나 아직 라이브러리의 유니버설 버젼을 생성하지 못했습니다.

4. 지금까지 Mac OS X 에서 Xcode 를 쓰면서 가장 간편하고 깔끔하게 필요한 헤더와 라이브러리 파일을 제공하는 방법은 Framework 번들을 이용하는 방법이었습니다. 라이브러리 번들은 어디에다 놓아도 됩니다만 라이브러리 폴더 내의 Frameworks 폴더에 모아 두므로 깔끔합니다.

문제를 완전히 해결 본 다음 다시 댓글 올려 보겠습니다. 혹시 wlee 님도 방법을 찾으셨으면 저에게 가르쳐 주십시오. ^^

hongjuny님의 댓글

일단 해결한 것 같습니다. ^^

먼저 패키지를 컴파일하시기 전에 configure 명령을 넣으시면서 유니버설 플래그를 넣습니다.

./configure CFLAGS="-arch i386 -arch ppc"

이렇게 하면 -arch 플래그가 두 개 들어간 make 파일이 생성되어 올바른 유니버설 컴파일이 됩니다. (컴파일 시간이 훨씬 많이 걸리더군요.)

나머지는 위에 댓글에 올린 대로입니다. Xcode 에서 라이브러리에 해당하느 Linker Flag 를 세팅해 주시면 /usr/local/lib 에 있는 라이브러리를 링킹합니다.

먼저 확인하셨겠지만, readme 파일을 확인해 주시고요. GSL 같은 경우는 dylib 가 정상 작동되지 않을 수 있으므로 configure 에서 --disable-shared 플래그를 설정하라고 권고하더군요. ^^

wlee님의 댓글

hongjuny 님이 말씀하신대로 search path에 /usr/local/lib를 넣고 -l  옵션을 Other linker Flag에 설정하여 링크 문제는 해결했습니다. 그런데 한 줄에 다 쓰면 안되고 하나씩 따로 입력을 해주어야 하는 모양이더군요.
-lcv -lcxcore -lhighgui 이런 식으로 한줄로 죽 입력해 줬더니 파일을 못찾았었습니다. 따로 하나씩 입력을 해주니 링크를 하더군요.

댓글쓰기

적용하기
전체 529 건 - 3 페이지
2007.08
07

[App 개발] 자동으로 운영체제 키보드 레이아웃을 바꾸는 법에 관해서...

제가 제 개인적인 필요 때문에 타자 연습 프로그램을 만들고 있는데요. 프로그램에서 한글이나 영어 언어를 선택하고 연습 할 때 그 때마다 운영체제의 키보드 레이아웃도 한글이나 영어로 맞춰줘야 되서 불편한데요. 프로그램에서 언…

2007.07
29

[App 개발] Chapter 7의 8쪽에서의 질문....(Cocoa Programming for Mac OS X 2/E)

- (void)insertObject:(Person *)p inEmployeesAtIndex:(int)index { // Add the inverse of this operation to the undo stack NSUndo…

2007.07
16

[App 개발] helper object 에 관해서...

제가 코코아 책 보며 Helper Object 를 공부하는 중인데 아무리 생각해봐도 도무지 무엇인지 잘 이해가 되지 않습니다. 미숙한 번역실력 때문인듯.. 아무튼 제가 생각하는 helper object 는 클래스를 확장할 때 사용하는 객…

2007.07
01

[App 개발] Xcode 편집기에서 한글 입력할 때의 문제점에 대한 질문

안녕하세요. Xcode를 사용해서 ASCII 텍스트 형태의 소스 코드에 한글 주석을 입력하다 자꾸 특정 부분에서 아래와 같은 메시지 박스가 떠서 문자를 입력할 수가 없는데, 어떻게 하면 될지 그 해결 방법이 궁금합니다. 입력 문자열: 그…

2007.06
17

[App 개발] Cocoa 에 대한 질문..

코코아 책(정확히는 pdf...)을 열심히 보고 있는데.. 정확히 이해를 했는지 못했는지 몰라서.. 질문들을 올리겠습니다. 1. NSMutableArray *array; …

2007.06
06

[App 개발] 다시한번 질문.....

안녕하세요 아래 올렸던 내용과 비슷한데, 해결이 잘 안되서 다시 질문을 드립니다. 하드 디스크의 특정 디렉토리에서 파일의 유무를 검사해야 하는데요, 하드 디스크의 이름이 "ccc" 라면, open("ccc:어쩌구:파일", "r")…

2007.04
28

[App 개발] Dev C++에서 GLUT사용하는법을....

Visual Studio 쓰자니 다운하긴 좀 그렇고.. Express 는 아주 많이 부족하고... 그래서 Dev C++ 를 다운하려고 하는데요. 도대체 이걸로 GLUT프로그래밍 하는 법을 모르겠네요... 윈도우 어플로 GL 프로그래밍하는…

2007.01
27

[App 개발] OpenCV 1.0.0 Frameworks

wlee 님 뿐만 아니라 Mac 에서 이미지 프로세싱 관련 연구를 하시는 분들에게 유용한 툴이 될 듯 싶습니다. 좋은 라이브러리를 알게 되어 wlee 님께 감사말씀 드립니다. ^^ 물론 1.0.0 을 그대로 command-line 으로 컴파일해도…

2007.01
20

열람중 [App 개발] [질문] 외부 라이브러리 다시 한번 ~

질문 1. 외부 라이브러리를  External Frameworks and libraries 폴더에 추가하기 위해, 오른쪽 버튼 -> Add->existing files.. 를 선택해서…

2006.12
28

[App 개발] Xcode 에서 디버그 모드 ... 릴리즈 모드...

비주얼 스투디오에서는 빌드 아이콘 옆에 디버그 모드 릴리즈 모드 선택할 수 있어서 편했는데 Xcode 는 어떻게 하나요 오픈지엘 공부하면서 제가 만든 프로젝트들은 Build/Debug 디덱터리에 실행파일이 생기는데 책…