2009-10-30 3 views
1

Photoshop 플러그인에 포함하려는 고객을 위해 Mac 버전의 Mac 용 lib를 컴파일하려고합니다. lib를 자신의 앱에 추가합니다. 더 자세한 정보 : 그의 플러그인은 CS4 Photoshop SDK를 기반으로 제작되었습니다. 즉, Mac OS 기본 SDK는 10.4 여야합니다. 내 lib는 인텔 컴파일러 11.1로 컴파일 된 정적 라이브러리이고 기본 SDK는 10.4로 설정됩니다.

필자가 작성한 작은 테스트 응용 프로그램과 비교하여 lib를 테스트했는데 컴파일되고 10.5에서 잘 작동합니다. 고객의 환경을 복제하기 위해 앱은 gcc로 컴파일되고 10.4 기본 SDK를 사용합니다. 내게는 괜찮지 만 내 고객은 내 라이브러리와 링크 할 수 없습니다. 같은 libMyLib.a (libm_error.o)

내가 GCC 내 lib 디렉토리를 컴파일에 _write_message, 다른 모든 프로젝트 설정 : 정의되지 않은 심볼 : "_fputs $는 Unix2003"에서 참조 문제는 다음과 같다 그 벌금, 그는 실행 파일을 생성 할 수 있습니다. ICL로 컴파일하자 마자 분해됩니다. ICL 11.1이 10.4와 호환되지 않을 수 있습니까? Fortran 컴파일러 포럼에서 나는 "11.1 컴파일러가 지원하지 않는 MacOS X 10.4로 기본 설정되어있는 Xcode가 나타난다. (http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/68647/) ICL 11.1이 10.4에서 실행되지 않거나 생성 된 코드가 10.4에서 작동하지 않는다는 것을 의미합니까 ??

다음 페이지 (http://software.intel.com/en-us/articles/performance-tools-for-software-developers-compatibility-of-intel-compiler-for-mac-os-x-and-xcode/)에는 ICL 11.1이 10.4와 호환되지 않는다고 나와 있습니다 (동일한 질문 : 호환성이란 무엇입니까?). 그러나 그것은 ICL 10.1이다고 말했기 때문에 나는 시도했다. 그러나 지금, 내 자신의 테스트 애플리케이션조차도 같은 이유로 (undefined function $ UNIX2003) 링크하지 않습니다.

누구에게 문제가 있는지, 어떻게 수정해야합니까? 또는 그 문제를 해결하는 방법? 미리

감사

PS : 보너스 포인트 사람이 하나의 의미를 알고 있다면 : LD : 절대 libMyLib.a에서 _Cholesky에 사용 된 (아마도 -mdynamic 노 PIC)을 어드레싱하지 (Cholesky.o)는 슬라이드 가능한 이미지에 허용되지 않습니다. '-read_only_relocs suppress'를 사용하여 텍스트 relocs 활성화

답변

0

궁극적으로 인텔 제품 지원을 받아야하지만 실제로 작동하는 Mac 소프트웨어를 판매하려면 동일한 도구 체인을 사용해야합니다 다른 사람들처럼 그걸 잊어 버려.

+0

답변 해 주셔서 감사합니다. 그러나 Intel을 사용하면 성능이 4 배 향상됩니다. 네가 나 한테 부탁하면 고통 스러울거야. – vectorizor

+2

작동하지 않으면 성능이 100 % 감소한 것 같습니다. –

+0

Hehe, 매우 사실 :) – vectorizor

1

따라서 대답은 11.1이 아니라 ICL 10.1로 컴파일하십시오. 10.1에서 사용 된 Intel lib에는 $ UNIX2003 루틴에 대한 참조가 들어 있지 않습니다.

누군가가 도움이되기를 바랍니다.