2017-09-30 1 views
0

부스트가 필요한 Qt 프로젝트가 있습니다. 이 프로젝트는 Linux에서 잘 작동하지만 Windows에서 컴파일하는 데는 몇 가지 어려움이 있습니다. 나는 제대로 작동시킬 수 있었지만 제대로 작동하지 못했습니다.부스트가있는 Qt 프로젝트

여기

win32{ 
    INCLUDEPATH +=C:\Boost\Boost 
    LIBS += "C:\Boost\Boost\stage\lib\libboost_system-mgw53-mt-1_65_1.a" 
    LIBS += -lws2_32 
} 

이 작동하지 않습니다 (작업) .PRO의 관련 부분,하지만 난 온라인을 발견 한 문서에 따라해야한다.

win32{ 
    INCLUDEPATH +=C:\Boost\Boost 
    LIBS += -LC:\Boost\Boost\stage\lib -lboost_system-mt 
    LIBS += -lws2_32 
} 

참고 : 부스트는 Qt Creator와 함께 배포되는 mingw를 사용하여 컴파일되었습니다.

+0

잘 모르겠지만 명확히하기 위해 어떤 오류가 발생 했습니까? – MrEricSir

+0

: -1 : 오류 : -lboost_system-MT 및 collect2.exe을 찾을 수 없습니다 : -1 : 오류 : 오류 : LD가 반환 한 은 (Qt는 창조주의 문제 섹션에서 복사 - 붙여 넣기) 종료 상태 – KingofGamesYami

답변

0

나는 해결책을 찾았다 고 생각합니다! 나는 모든 부스트 라이브러리를 \ stage \ lib에 2 부씩 가지고 있음을 발견했다.

libboost_system-mgw53-mt-1_65_1.alibboost_system-mgw53-mt-d-1_65_1.a

나는 모두를 사용하여 프로젝트를 컴파일과 전 어떤 경고가 있었을 때, 후자는하지 않았다. 폴더에서 libboost_system-mgw53-mt-1_65_1.a을 제거하면 -lboost_system-mt이 올바르게 작동합니다.

나는 왜 내가이 두 파일을 가지고 있는지 알지 못하지만 의심 할 여지없이 나는 부스트를 컴파일하는 것과 관련이있다.

+1

'-d '는 * release *와는 반대로 * debug * 버전을 의미합니다. [라이브러리 이름 지정] (http://www.boost.org/doc/libs/1_65_1/more/getting_started/windows.html#library-naming)을 참조하십시오. –

+0

흠 ... 디버그 및 릴리스 출력 모두가 부스트의 기본값입니다. 그게 왜 혼란 스러울 지 궁금해. – KingofGamesYami