티스토리 뷰

SOIL : Simple OpenGL Image Library


이미지 파일을 읽어서 텍스쳐로 만들려면 라이브러리를 써야한다.

(물론 직접 파일 포맷대로 읽어들일 자신이 있다면 그렇게 해도 상관없다만.... 좀 편하게 살아보자. -_-;;)


SOIL에서 제공해주는 정적 라이브러리 파일(libSOIL.a)을 Link Binary With Libraries에 추가해도 잘 안 써진다. 아래 사진과 같은 에러가 뜬다.



아직 내가 링커 같은 데에 지식이 좀 부족해서 이유를 정확히 잘 설명은 못하겠다. 일단 뭔가를 못 찾겠다는 뜻인데.... -_-;

검색하다보니 libSOIL.a가 32bit로 빌드된 것인데 64bit로 빌드해서 그런 것이라는 말도 있는데 32bit로 빌드하는걸로 바꿔도 컴파일 에러는 그대로다. C++ library를 llibstdc++, libc++로 바꿔가면서 해봐도 안 고쳐진다.


어쨌든 나는 SOIL 라이브러리를 꼭 써야겠는데 에러는 터진다. 해결방법을 열심히 찾아보니까 좀 허무하게 끝이 났다.


1. libSOIL.a을 Link Binary With Libraries에 추가하든 안 하든 상관 없다.

2. SOIL 라이브러리 홈페이지(http://www.lonesock.net/soil.html)에서 다운로드 받은 아카이브를 압축해제 한 뒤, 

해당 폴더의 src 폴더 안에 있는 c 파일들을 Target - Build Phase - Compile Sources에 추가한다.


일단 이렇게 하면 컴파일 에러는 안 나고, Xcode상에서는 아래 사진과 같이 보이게 된다.



자동으로 Compile Sources에 추가한 파일들이 저 네비게이터에도 추가되던데 왜 그런지는 모르겠다. 스크린샷을 보면 알겠지만 원래 의도한 바는 library 폴더 레퍼런스 안에 옹기종기 잘 모여있게 하는거였는데... 좀 더 살펴봐야겠다.



Github에도 진행 중인 프로젝트의 repo를 생성해놨다. 링크

a870c54 커밋을 체크아웃하면 SOIL을 프로젝트에 추가하면서 프로젝트 설정 파일이 어떻게 변경되었는지 알 수 있다.

나중에 우분투에서도 Eclipse CDT의 프로젝트 설정도 추가할 계획이다. (원래 강의에서는 우분투 + Eclipse CDT로 하기로 했었어서.)


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday