2013-02-27 3 views
2

Qt Creator의 앱에서 타사 드라이버를 사용하려고합니다. 이 응용 프로그램은 정적 라이브러리로 포함되어야합니다. /MT 플래그가 없으면 컴파일되지 않습니다. 많은 상심 후, 나는 두 링커 오류에 내려 왔 :Qt Creator에서 라이브러리를 링크하는 순서를 바꿉니다.

msvcrtd.lib(ti_inst.obj):-1: error: LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" ([email protected]@[email protected]@@Z) already defined in LIBCMTD.lib(typinfo.obj) 
msvcrtd.lib(ti_inst.obj):-1: error: LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" ([email protected]@[email protected]@@Z) already defined in LIBCMTD.lib(typinfo.obj) 

나는이 문제가 here 설명 생각합니다. 그렇다면 Qt Creator가 이러한 시스템 라이브러리를 특정 순서로 연결하도록하는 방법을 알아야 할 필요가 있다고 생각합니다. 처음에는 .pro 파일에 명시 적으로 포함시키지 않았습니다. 누군가가 어떻게하는지 말해 줄 수 있다면 좋을 것입니다. 그러나 이것이 MS 페이지에 설명 된 것과 동일한 문제가 아니라면, 내가 무엇을하고 있는지에 대한 설명이 잘못되어 있다면 은 실제로 일 것입니다.

+0

.pro 파일을 수작업으로 편집 할 수 있어야하며 라이브러리 주문과 관련하여 도움이되는지 확인해야합니다. –

+0

.pro 파일에 msvcrt 라이브러리가 포함되어 있지 않습니다. 나는 그 라이브러리가 MSVC 컴파일러에 의해 자동으로 포함된다고 생각한다. 'CONFIG + = ordered'와 libs를 올바른 순서로 포함 시키려고하면, 다음과 같이됩니다 :'msvcurt.lib (ti_inst.obj) : - 1 : error : LNK1313 : 순수한 모듈이 발견되었습니다; ijw/네이티브 모듈과 연결할 수 없음' – kanders84152

+0

신경 쓰지 마라. 나는 잘못된 msvc 라이브러리에 연결했다. 'msvcurt.lib' 나'msvcprt.lib'가 아닌'msvcmrt.lib'을 사용해야합니다. 지금은 효과가있는 것 같습니다. 고마워. – kanders84152

답변

0

그냥이 대답으로, 내가 인용 kanders84152 있습니다 표시하려면 :.... "나는 잘못된 MSVC 라이브러리와 링크 된 msvcmrt.lib를 사용하기로하지 msvcurt.libmsvcprt.lib 신경 쓰지 지금 작동하는 것 같다 덕분에, 모든 . "

관련 문제