Public/tip & tech

HP-UX ia64에서 64bit로 컴파일 하기

quantapia 2010. 12. 14. 17:36

컴파일러 : aCC A6.0.0.00

OS : HP-UX U ia64 11.23

 

CFLAGS HP-UX ia64 +DD64

 

64bit 컴파일 할 때

ld: Can't find library or mismatched ABI for -lXXXXX

이런 에러 메세지를 보게 된다면

 

1. 컴파일 옵션 확인 할 것.

 추가할 컴파일 옵션 : +DD64

 컴파일할 대상과 링크된 라이브러리가 서로 다른 bit로 컴파일 되었을 경우 발생

 컴파일할 대상의 컴파일 옵션에 추가해서 컴파일해보고(ex. $cc +DD64... 요렇게) 그래도 같은 에러가 발생하면 컴파일된 라이브러리가 64bit로 컴파일 되었는지도 확인하여 해당 옵션을 넣으주면 됨

 또한 C 컴파일 옵션 뿐 아니라 ld 옵션(-lc에러등..)에도 사용하도록 한다.

 

ld: Can't find library or mismatched ABI for -lc

 LDFLAG = +DD64 -Wl,+s

 

+DD64 vs +DA2.OW

http://forums11.itrc.hp.com/service/forums/questionanswer.do?threadId=1233973

aCC 컴파일러 옵션 정보 (HP 홈페이지 제공)

http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=4727276391695110VgnVCM100000275d6e10RCRD

 

2. GNU ar(아카이브) 또는 컴파일러를 사용하였는지?

 추가할 컴파일 옵션 : -mlp64