2012-11-06 4 views
1

클래스에 대한 간단한 OpenGL 튜토리얼을 실행하려고하는데 C++ 코드가 Windows 및 Linux에서 실행되도록 만들어졌습니다. Mac OS X Mountain Lion에서 실행되도록 노력 중입니다. 내가 적절한 라이브러리 헤더를 발견, 지금은 OK (SCons는 함께) 컴파일하지만 실행하면 빌드가이 오류를 제공합니다dyld : 심볼이 없습니다. _jpeg_resync_to_restart

dyld: Symbol not found: _jpeg_resync_to_restart 
    Referenced from: /usr/local/lib/libIL.1.dylib 
    Expected in: flat namespace 
in /usr/local/lib/libIL.1.dylib 
Trace/BPT trap: 5 

검색 온라인은 나에게 파이썬 이미징 라이브러리 문제 아무것도주지 않았다. 나는 homebrew를 통해 libjpeg와 Devil을 설치했다. 구글 검색에서 판단

+1

SCons 스크립트와 완전한 컴파일 결과를 보여줄 수 있습니까? – Brady

+0

실제로 나는 그것을 작동 시켰고, 나는 그 대답을 게시 할 것입니다. – zbrox

답변

4

, 내장 된 맥 OS X에서 libjpeg 라이브러리가있는 __cg_jpeg_resync_to_restart는 당신이 MacPorts를, 핑크를 사용하거나 어쩌면 컴파일하면 자신이다면 - _jpeg_resync_to_restart. 이 경우 Homebrew를 통해 얻은 DevIL 라이브러리는 Mac OS X 라이브러리에서 가져온 기호를 검색하지 않으므로 homebrew를 통해 libjpeg를 설치해야한다고 가정했습니다. 그러나 libjpeg가 이미 homebrew를 통해 설치되었다는 것이 밝혀졌습니다. 그래서 아마도 libjpeg의 링크에 문제가있을 것 같았습니다. 링크를 해제하고 다시 링크를했는데, 예. 라이브러리를 처음 연결하는 데 문제가있었습니다. 그러나이 문제를 해결하기 위해 솔기가 없습니다. 나는 다시 Devil 라이브러리를 만들면 libjpeg가 올바른 위치에 심볼릭 링크를 가지고 있다는 가정을 다시 세웠다. 올바른 라이브러리에서 적절한 위치에 링크 할 것이다. 그래서 brew uninstall devil을 수행 한 다음 brew install devil을 소스에서 다시 컴파일했습니다. Aaand voila :)

0

DYLD_LIBRARY_PATH를 올바른 경로로 변경하기 만하면됩니다.

관련 문제