Visual Studio 2010 용 Qt를 빌드하는 방법


137

Visual Studio 2010에서 Qt를 사용하는 안정적인 솔루션을 제공하는 방법을 찾는 데 어려움을 겪었습니다. 모든 정보와 시행 착오를 모은 후에 솔루션을 가이드에 작성하고 싶습니다.

문제 또는 왜 미리 빌드 된 바이너리를 사용할 수 없습니까?

Visual Studio 2008 용으로 작성된 바이너리를 사용하는 것이 특별한 경우에는 효과가있을 수 있지만 작동하지 않는 것으로 나타났습니다. 내 경우에는 OK를 컴파일했지만 다음과 같이 런타임 오류가 발생합니다.

문제 2

또는 Visual Studio 2010에서 시작한 경우 :

문제

업데이트 : 일부 사람들에게는 왜 효과가 있고 다른 사람들에게는 효과가 없는지 분석하는 블로그 게시물을 발견했습니다. 즉, Visual Studio 2008을 동일한 컴퓨터에 설치했는지 여부에 따라 다릅니다. http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/

내가 어리석게 몰랐던 가장 중요한 것은 Visual Studio 2008이 설치되어 있지 않으면 Visual Studio 2008 컴파일 라이브러리와 dll (Qt 웹 페이지에서 사용 가능)을 사용할 수 없다는 사실입니다. 다운로드 한 Qt SDK는 VC9.0 DebugCRT에 의존하는 디버그 빌드이기 때문에 재배포 가능한 설치 프로그램으로 사용할 수없는 Visual C ++ 2008 디버그 런타임이 설치되어 있어야합니다. DebugCRT를 설치하는 유일한 방법은 Visual Studio 2008 전체를 설치하는 것입니다.


노력해 주셔서 감사합니다. 또한 왜 VS 2008 바이너리를 사용하지 않아야 하는지를 설명하는 것이 도움이 될 수 있습니다. 나는 아무런 문제없이 VS2010과 함께 프로토 타입 테스트 프로젝트를 개발했지만 배포 문제가 있다고 언급 한 사람이 있습니까?
Ralf

마지막 섹션에 경험을 추가했습니다. 일반적으로 net에서 VS2010과 함께 Qt를 사용하려면 Qt를 컴파일해야한다는 많은 보고서를 발견했습니다. VS2008의 존재 여부를 알려주는 한 페이지가 있습니다.
hyperknot

환상적인, 나는 많은 사람들이 이것이 유용하다고 확신합니다 :)
Ralf

이봐, 내가 할 때 얻는 것이 있습니다 nmake. 빌드하기 전에 다음을 사용했습니다 configure.exe -release -no-ltcg..
Mateen Ulhaq

2
나중에 참조 할 수 있도록 Qt 설명서 사이트에 실제로 소스에서 컴파일하기위한 설치 지침 이 있음을 알고 싶습니다 .
Ephphatha

답변:


142

우선, Visual Studio 2010에서 Qt를 사용하기 위해서는 Visual Studio 2008 용으로 만들어진 사전 빌드 바이너리를 사용할 수 없지만 소스에서 컴파일해야 한다는 것을 이해하는 것이 매우 중요합니다 .

Qt 다운로드

https://www.qt.io/download/

업데이트 2017 : 최신 Qt 4.x 분기 (Qt 4.8.6)에는 2 개의 사전 빌드 패키지가 있으며, 현재 아카이브 섹션에 있습니다.

  1. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2010-4.8.6.exe
  2. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe

"Windows 용 Qt 라이브러리 4.8.6 (Visual Studio 2008, 218MB)" 을 클릭하지 말고 위의 "zip" 링크 를 클릭하여 Qt를 다운로드해서는 안됩니다 .

링크 선택

해당 링크에는 "qt-everywhere-opensource-src-4.8.6.zip" 과 같은 큰 zip 파일이 있습니다. 폴더에 압축을 풀고 경로를 멋지고 작게 만드십시오 (예 : "E : \ Qt")

Visual Studio 명령 프롬프트

이제 소스가 확보되었으므로 바이너리를 빌드해야합니다. 이렇게하려면 Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)시작 메뉴에서 링크를 열거 나 작업 표시 줄에 고정하십시오 (좋은 생각). 이것은 Visual Studio 2010 도구로 빌드하기 위해 모든 변수가 설정되어있는 특수 명령 프롬프트입니다.

명령 프롬프트 내에서, 구식 DOS 방식을 사용하여 추출 된 Qt 폴더로 이동하십시오. 즉, 드라이브 문자를 변경 하고 E:디렉토리를 입력하고 디렉토리 cd Qt내용을 나열해야합니다 dir. 디렉토리 이름에 대한 도움을주기 위해 탭 키를 사용할 수 있습니다. 올바른 디렉토리에 도달하면 dir명령이 이와 같은 것을 리턴해야합니다.

명령 줄

빌딩 Qt

이제 구성하고 빌드 할 차례입니다. 미니멀리스트 Qt를 구성하기 위해와 함께 다음 플래그를 사용하고 configure.exe있습니다. 복사해서 명령 행에 붙여 넣기 만하면됩니다. 어떤 플래그를 사용하거나 사용하지 않을지Qt 레퍼런스 매뉴얼참조하십시오 .

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

완료되면 configure.exe(10 분) 빌드 프로세스를 시작해야합니다. 위의 플래그로 약 20-30 분이 소요됩니다. 시작하려면 다음을 입력하십시오.

nmake

환경 변수 설정

기본적으로 우리는 끝났습니다. Qt를 찾을 위치를 프로그램에 알려주는 환경 변수 ( QTDIRPATH) 를 설정하기 만하면됩니다. Windows 7 인 경우 다음 명령을 사용 QTDIR하여 설치 디렉토리 를 설정할 수 있습니다.

setx QTDIR e:\Qt

를 설정하려면 경로 편집기를PATH 사용하는 것이 좋습니다 . 경로 편집기 내

add the directory of Qt\bin to your PATH

(시스템 경로 또는 사용자 경로에 있는지 여부는 중요하지 않습니다)

을 사용하려면 Control Panel\System\Environment Variables여기에서도 설정할 수 있습니다.

Qt Visual Studio 애드 인

여기서 로그 오프 로그온 또는 재시작 후에 모든 Qt 데모 응용 프로그램이 올바르게 시작됩니다 ( bin \ qtdemo.exe 참조 ). 이제 Qt 다운로드 페이지에서 Visual Studio Add-in (qt-vs-addin-1.1.9.exe)을 다운로드하여 설치할 수 있으며 완벽하게 작동합니다.

addin

부록 A : 공식 지침 :

Qt 웹 사이트의 공식 위키에는 Qt 4.8 Windows 용 Qt 설치 페이지가 있지만 중요한 정보가 부족하다는 것을 알았습니다.

참고 문헌

Qt DevNet 포럼
최소한의 Qt 빌드를위한 권장 플래그
Visual C ++ 2010으로 Qt 4.5 빌드
Qt를 정적
Qt 로 컴파일하는 방법 4.8 : Qt에 대한 옵션 구성 고통없이 Windows
에서 PATH 환경 변수 편집
-op111.net


2
이것은 훌륭하지만 사용자 정의 빌드 Qt Assistant에 문제가없는 경우 configure 플래그에 -qt-sql-sqlite를 추가합니다. 설명서 데이터베이스를 성공적으로 읽으려면이 플러그인이 필요한 것 같습니다.
neuviemeporte

좋은 가이드! 한 가지 참고 사항-나는 하루나 이틀 동안 설정하려고 노력하고 있었고 프로세스에서 mingw에 경로 변수를 추가했습니다.
David Hall

2
참고 사항 : VS 도구는 QT 소스가있는 폴더 경로에 공간이 있으면 QT 빌드를 거부합니다. 적어도 내 경우에는 그렇게합니다.
로마 Kruglov

10
단 하나의 질문 : Qt가 아직 VS 2010 사전 컴파일 배포를 제공하지 않는 이유는 무엇입니까?
매트 Montag

2
그냥 알려줄뿐입니다. 원래 게시물의 링크가 더 이상 작동하지 않습니다. digia 사이트를 검색하고 addin이 없다는 것을 발견하는 데 꽤 오랜 시간이 걸립니다. 추적은 메인 링크 하나가 있습니다 qt-project.org/downloads
paul23

25

Qt V4.8.0에는 Visual Studio 2010 용 사전 빌드 바이너리가 포함되어 있으므로 더 이상이 작업을 수행 할 필요가 없습니다. http://qt.nokia.com/downloads/windows-cpp-vs2010


2
32 비트 디버그 모드에서 작업 할 계획 인 경우 Visual Studio 2010 용 사전 빌드 바이너리 인 parsley72 만 유용합니다. 그렇지 않으면 zsero가 게시 한 가이드는 특히 아키텍처 관련 옵션을 변경하려는 경우 매우 유용합니다.

물론! 그러나 사전 빌드 된 라이브러리를 사용할 수 있기 전에 질문이 다시 제기되었으므로 이제 사람들에게 대안이 있음을 알립니다.
parsley72

1

잠재적 인 솔루션에 대한 링크는 언제나 환영하지만 링크 주위에 컨텍스트추가 하여 동료 사용자가 그 이유와 그 이유를 알 수 있도록하십시오. 대상 사이트에 도달 할 수 없거나 영구적으로 오프라인 상태가되는 경우 항상 중요한 링크의 가장 관련성있는 부분을 인용하십시오. 외부 사이트에 대한 링크 이상의 것이 아닌 이유와 방법에 대한 답변이 삭제 되는 가능한 이유를 고려하십시오 .
Maximilian Ast
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.