2012-04-26 2 views
0

Visual Studio 2010에서 지난 몇 개월 동안 디버그 모드로 정상적으로 실행되는 C++ 프로젝트를 컴파일하려고합니다. 개발이 끝났으므로 배포 할 exe 파일을 만들고 싶습니다.Visual Studio 2010 C++ 릴리스 모드 문제

문제는 내가 디버깅하는 방법을 모르는 릴리스 모드로 전환 할 때 많은 컴파일러 오류가 발생한다는 것입니다.

어떤 도움을 주시면 감사하겠습니다 : 당신은 (가능한 다른 문제 외에) 라이브러리의 두 세트를 연결하고 같은

1>main.obj : error LNK2005: "int __cdecl initKinect(void)" ([email protected]@YAHXZ) already defined in gui.obj 
1>main.obj : error LNK2005: _main already defined in gui.obj 
1>Kinect.lib(Kinect-win32.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in algorithm.obj 
1>Kinect.lib(Kinect-win32.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification 
1>Kinect.lib(Kinect-Driver.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in algorithm.obj 
1>Kinect.lib(Kinect-FrameInput.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in algorithm.obj 
1>libcpmtd.lib(stdthrow.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in algorithm.obj 
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __heap_alloc already defined in LIBCMT.lib(malloc.obj) 
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __recalloc already defined in LIBCMT.lib(recalloc.obj) 
1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __msize already defined in LIBCMT.lib(msize.obj) 
1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook already defined in LIBCMT.lib(dbghook.obj) 
1>LIBCMTD.lib(isctype.obj) : error LNK2005: __isctype_l already defined in LIBCMT.lib(isctype.obj) 
1>LIBCMTD.lib(isctype.obj) : error LNK2005: __isctype already defined in LIBCMT.lib(isctype.obj) 
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library 
1>C:\Users\Tom\Documents\Kinect\repository\KinectTracker\Release\KinectTracker.exe : fatal error LNK1169: one or more multiply defined symbols found 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

답변

0

이 나에게 보인다. Libcmtd는 libc의 다중 스레드 디버그 버전이며 libcmt는 동일한 릴리스 버전입니다.