2011-05-11 5 views
5

Qt에서 응용 프로그램을 개발 중이지만 D 언어 (QtD 바인딩 포함)를 사용 중입니다. 나는 내 애플 리케이션이 Qt 4.7.x와 충돌하기 때문에 Qt 4.6.2를 사용해야한다. 그러나 내 시스템에는 Qt 4.7.2가 설치되어 있습니다. 불행히도 QtD를 QtD 최신 버전으로 사용할 수 없으며 (QtD 개발자도 마찬가지입니다 ...)Qt의 두 가지 버전을 설치하고 사용할 애플리케이션을 알려주는 방법은 무엇입니까?

내 응용 프로그램을 시스템 Qt 4.6.2 라이브러리에 설치하고 사용하는 유일한 방법은, 다른 모든 응용 프로그램이 여전히 Qt 4.7.2를 사용하도록하십시오. 가능한가? 그렇다면 어떻게해야합니까?

답변

1

하나의 시스템에 여러 버전의 라이브러리를 설치할 수 있으며 모든 패키지 관리자 (rpm, deb)가이 상자를 지원합니다.

이 라이브러리의 이름은 완전히 다릅니다. 예를 들어, ID를 경우하는 내 시스템에

ls /usr/lib/ | grep libcurl 

을, 나는거야 :

libcurl-gnutls.so.3 
libcurl-gnutls.so.4 
libcurl-gnutls.so.4.2.0 
libcurl.so.3 
libcurl.so.4 
libcurl.so.4.2.0 

때문에, 같은 라이브러리의 서로 다른 버전이 함께 행복하게 살고 있습니다.

당신이해야 할 일은 원하는 버전의 QT 라이브러리에 링크하는 것입니다. 링커 옵션에서이를 구분해야합니다 (정확한 옵션을 기억하지 못합니다).

+0

나는 이미 몇 가지 문제를 발견 했으므로 프로젝트를 종료해야합니다. 어쨌든 도움 주셔서 감사합니다 ... –

5

질문에 대한 대답은 Qt의 버전이 Makefile을 생성하는 데 사용하는 qmake에 의해 결정된다는 것입니다.

/opt/QtSDK/Qt-4.6.2/bin/qmake

/opt/QtSDK/Qt-4.7.3/bin/qmake

각각의 라이브러리를 사용합니다 디렉토리.

관련 문제