g++ 3.x 로 컴파일 해서 2.x 환경에서 돌릴 방법이 없나요?
글쓴이: pighunt / 작성시간: 수, 2004/05/19 - 2:48오전
:) 첨으로 g++을 써서 작업을 합니다.
그런데 첨부터 넘 어려운 :( 일이 생겼네요.
Target system이 Redhat 7.3으로 gcc 2.96인 환경입니다.
그런데 컴파일은 반드시 gcc/++ 3.x로 컴파일을 해야만 합니다.
현재 그렇게 하면 실행시 libstdc++.so.5가 없다고 나오는 군요.
즉 gcc/++ 3.x의 runtime을 참조 한다는 거죠.
그런데 Mozilla는 3.x로 컴파일 해도 2.96에서 잘 돌더군요.
strip을 쓰는 것 같기두 하고 그런데 도무지 방법을 모르겠습니다.
:cry: 누가 좀 구해주세요. 3일 째 눈이 벌겋게 찾고 있는데 암만 봐도 안보이네요.
Forums:
링커나 컴파일에서 -static 같은 옵션을 주면 정적링크를 하는 걸로
링커나 컴파일에서 -static 같은 옵션을 주면 정적링크를 하는 걸로 알고 있는데 그렇게 하면 필요한 라이브러리가 실행파일에 포함되서 파일이 생성되는거 아닌가요?
이런 경우
:D
생각보다 간단합니다. linux에서는 -static로 컴파일 되는것
솔라리스에서는 않되는것 들도 있읍니다.
이런경우 적절한 위치에
libstdc++.so, libgcc_s.so를 복사해서 가지고 다니시면 됩니다.
그리고 프로그램 실행시 LD_LIBRARY_PATH로 환경변수를 설정하시면
됩니다.
저 같은 경우에는 run script만들어서 실행합니다.
그럼 수고하세요
Perl 만세~~~
댓글 달기