2013-03-27 3 views
0

안녕하세요. 저는 이미 Windows 7에서 64 비트로 32 비트를 빌드하는 프로젝트를 업그레이드하려고합니다.이 xerces 2_7 dll이 응용 프로그램에 사용되어 소스 코드를 다운로드했습니다. xerces2_7_0 버전을 사용하고 64 비트로 라이브러리를 빌드하십시오. 여기까지는 아무런 문제가 없습니다. 하지만이 라이브러리를 내 프로젝트에 연결하려고 할 때 링커 오류가 발생합니다. 아래 그래서 내가 정말이 64 비트에서 2_7_0 Xerces에 내장 된 경우 의심 및 테스트 프로젝트 64 비트 콘솔 응용 프로그램을 작성하고이 라이브러리와 프로젝트를 성공적으로 구축 할 수를 Xerces에 훅을 시도xerces2_7.dll을 64 비트 응용 프로그램과 연결할 수 없습니다.

error LNK2019: unresolved external symbol "__declspec(dllimport) public: static bool __cdecl xercesc_2_7::DOMImplementation::loadDOMExceptionMsg(enum xercesc_2_7::DOMException::ExceptionCode,unsigned short * const,unsigned int)" ([email protected]@[email protected]@[email protected]@[email protected]@Z) referenced in function "int `private: bool __cdecl 
error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const xercesc_2_7::XMLUni::fgDOMDatatypeNormalization" ([email protected]@[email protected]@2QBGB) 
error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const xercesc_2_7::XMLUni::fgDOMValidateIfSchema" ([email protected]@[email protected]@2QBGB) 
error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const xercesc_2_7::XMLUni::fgXercesSchemaFullChecking" ([email protected]@[email protected]@2QBGB) 
error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const xercesc_2_7::XMLUni::fgXercesSchema" ([email protected]@[email protected]@2QBGB) 
error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const xercesc_2_7::XMLUni::fgDOMNamespaces" ([email protected]@[email protected]@2QBGB) 
error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class xercesc_2_7::DOMImplementation * __cdecl xercesc_2_7::DOMImplementationRegistry::getDOMImplementation(unsigned short const *)" ([email protected]@[email protected]@[email protected]@[email protected]) referenced in function "private: bool __cdecl 

오류가 있습니다 (사용

종속성 워커를 사용하여 모든 종속성을 검사했습니다.

Error: The Side-by-Side configuration information for "c:\users\vivek\desktop\xerces64bit\x64\debug\XERCES64BIT.EXE" contains errors. The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail (14001). 
Error: At least one required implicit or forwarded dependency was not found. 
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module. 
Error: Modules with different CPU types were found. 

내가 잘못 뭐하는 거지 어떤 아이디어 왜 내 64 아무 불평하지 않았다 : 나는 파일을 여는 오류를 발견 DLL 내 64 개 비트의 Xerces에 대한 의존성 워커를 시도했을 때 , 아래의 오류입니다 bit 테스트 애플리케이션. 그런데 내가 다른이 오류가 종속성 워커 내가 사용하고 있기 때문에 2

Error: The Side-by-Side configuration information for "c:\users\vivek\desktop\xerces64bit\x64\debug\XERCES64BIT.EXE" contains errors. The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail (14001). 
Error: At least one required implicit or forwarded dependency was not found. 

에 종속성 워커 오류를 감소 비주얼 스튜디오 32 비트 실행 파일을 2008 감사

여기

Update 1: 좋아이었다 사용하고 . 이제 64 비트 종속성 워커를 사용하고 있지만 여전히 2 개의 오류가 발생합니다.

Update 2: CRT를/MT로 변경하여 2 가지 오류를 없앴습니다. 하지만 여전히이 라이브러리를 내 프로젝트에 연결할 수는 없습니다.

+0

* 오류 : CPU 종류가 다른 모듈이 발견되었습니다. * Xerces 라이브러리 중 일부가 64 비트 대상으로 빌드 된 것은 아닙니다. 각 프로젝트의 설정을 개별적으로 점검하여 올바른 아키텍처가 선택되었는지 확인합니다. 그리고 Xerces 2.7이 2005 년에 출시되었는데, 최신 버전을 사용할 수없는 이유가 무엇입니까? – Praetorian

+0

xercess 2.8에서 같은 일이 발생했습니다. 3.0을 시도했지만 일부 기능이 변경된 것으로 보입니다. 프로젝트에서 큰 변화를 원하지 않습니다. – Vivek

답변

0

나는 그것을 알아 냈다. 언어 설정에 문제가있었습니다. Configuration Properties ->C/C++ ->Language에서 Treat wchar_t as Built in Type은 내 프로젝트에서 No으로 설정되었습니다. 여기서 xerces 라이브러리를 빌드 할 때 옵션을 yes로 설정합니다.

차이점이 있습니다.