2017-04-14 1 views
1

내 임무는 Qt없이 컴퓨터의 Windows 프로젝트에서 내 라이브러리를 사용하는 것입니다. 그래서 정적으로 링크 된 Qt 코드로 내 라이브러리를 컴파일하고 싶습니다.QT 정적 라이브러리 스태틱 컴파일

정적 라이브러리에 내 자신의 코드를 컴파일하는 방법을 이해하지 못하고 정적으로 사용되는 모든 Qt 항목을 연결합니다. Qt 소스를 다운로드 받아 msvc 2015로 정적으로 컴파일 (QT 5.8.0)하고 Qt Creator의 새로운 정적 qmake를 추가했습니다. 내 라이브러리를 만들려고 시도했지만 성공했습니다. Qt가 설치되어 있지 않은 다른 컴퓨터에서이 라이브러리를 사용하면 많은 링커 오류가 발생합니다. LNK2001LNK2019. 내가 이해

Error LNK2019 Unresolved External Symbol "public: int __thiscall 
QJsonValue::toInt(int)const " ([email protected]@@[email protected]) in function 
"public: int __thiscall QJsonValueRef::toInt(void)const " 
([email protected]@@QBEHXZ) ConsoleApplication2 c:\Users\Alex\documents\visualstudio 
2015\Projects\ConsoleApplication2\ConsoleApplication2\TcpClient.lib(tcpthreadpart.obj) 

그래서 모든 Qt는 소스가 내 라이브러리에 연결되지 않은 : 여기

오류의 예입니다. Qt의 정적 연결을 사용하여 .exe을 컴파일하는 방법에 대한 몇 가지 가이드가 인터넷에 있습니다. 필자가 라이브러리를 컴파일하려고 시도했지만 실패했습니다. 도와 주실 수 있겠습니까?

답변

0

라이브러리 자체는 동적 라이브러리 여야합니다. 기존 도구가 다른 라이브러리와 연결할 수있는 유일한 유형이기 때문입니다. 정적 Qt에 대해 라이브러리를 빌드하면 라이브러리는 원하는대로 정적으로 Qt를 사용합니다.

정적 라이브러리를 만든 것처럼 보이므로 아무 것도 연결하지 않습니다. 기술적으로는 가능하지만 도구가 없습니다. (

관련 문제