Unity(iOS) + turbo-jpeg에서 런타임 오류가 발생했기 때문에 해결
환경
library 준비
turbo-jpeg의 공식 source forge( htps://그래서 넉넉하다. 네 t / p 로지 cts / ぃ bj ぺ g t r 보 / 후 ぇ s / )에서 Mac/iOS 공유의 .dmg를 download.
Unity Plugins/iOS/아래
copy.
그대로 Unity+Xcode로 Build하면
실행 중 (turbo) jpeg에서 읽고 쓰는 등을 시도하면
tjGetErrorStr:JPEG parameter struct mismatch: library thinks size is 600, caller expects 632
어쨌든 화가 나서 실행할 수 없습니다. 구조체의 byte packing 주위일까라고 생각 turbo-jpeg를 자전 build해 여러가지 시험해 보았습니다만 개선하지 않고.
자주(잘) 조사해 보면, turbo-jpeg와 Unity인가 어딘가가 가지고 있는 jpeglib가 충돌하고 있는 모습.
그래서
링크 순서 변경
Xcode 의 Other Linker Flags 에 -lturbojpeg -ljpeg
를 선두에 추기해 주는 것으로, 곧바로 link 하도록(듯이) 수정했습니다.
이것으로 문제 해결. 앞에서 설명한 에러도 나오지 않게 되어 무사하게 동작하게 되었습니다.
결론
iOS에서 C/C++인 plugin을 쓰는 것도 희귀할지도 모릅니다만, PC나 Android와 공통화하면 가끔 빠지는 타입의 함정이었습니다.
Reference
이 문제에 관하여(Unity(iOS) + turbo-jpeg에서 런타임 오류가 발생했기 때문에 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/H_Holon/items/6e8bc787911b038fb337
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
tjGetErrorStr:JPEG parameter struct mismatch: library thinks size is 600, caller expects 632
Xcode 의 Other Linker Flags 에
-lturbojpeg -ljpeg
를 선두에 추기해 주는 것으로, 곧바로 link 하도록(듯이) 수정했습니다.이것으로 문제 해결. 앞에서 설명한 에러도 나오지 않게 되어 무사하게 동작하게 되었습니다.
결론
iOS에서 C/C++인 plugin을 쓰는 것도 희귀할지도 모릅니다만, PC나 Android와 공통화하면 가끔 빠지는 타입의 함정이었습니다.
Reference
이 문제에 관하여(Unity(iOS) + turbo-jpeg에서 런타임 오류가 발생했기 때문에 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/H_Holon/items/6e8bc787911b038fb337
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Unity(iOS) + turbo-jpeg에서 런타임 오류가 발생했기 때문에 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/H_Holon/items/6e8bc787911b038fb337텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)