你好我想升級項目,該項目已經在建的32位到64位的Windows 7,我有這樣的Xerces 2_7鏈接xerces2_7.dll應用程序中使用的DLL所以我下載的源代碼用於xerces2_7_0版本並以64位構建庫。直到這裏沒問題。但是,當我試圖通過它鉤這個庫到我的項目會引發鏈接器錯誤。下面是無法與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
所以我懷疑我是否真的建立了這個XERCES在64位2_7_0和寫的測試項目中的64位控制檯應用程序,並試圖鉤住這個XERCES庫和能夠成功構建項目的錯誤(使用同一組,我在我的項目製作)
我用的Dependency Walker檢查所有的依賴通話; 當我試圖在我的64位的Xerces DLL我發現在打開文件錯誤的Dependency Walker,下面是錯誤的:
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抱怨什麼位測試應用程序。順便說一句,我使用Visual Studio 2008 感謝
Update 1:
好吧我在這裏減少的Dependency Walker錯誤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.
另2個錯誤是因爲依賴學步車我使用的是32位可執行文件。現在我正在使用64位依賴walker,但仍然看到2個錯誤。
Update 2:
我通過將CRT更改爲/ MT來擺脫了2個錯誤。但是我仍然無法將這個圖書館與我的項目聯繫起來。
*錯誤:找到具有不同CPU類型的模塊*似乎並不是所有的Xerces庫都是針對64位構建的。我會單獨檢查每個項目的設置,以確保選擇正確的體系結構。而Xerces 2.7在2005年左右發佈,任何你無法使用最新版本的原因? – Praetorian 2013-03-27 16:05:14
同樣的事情發生在xercess 2.8中,我試過3.0,但似乎有些功能發生了變化,我不想在我的項目中做出巨大的改變 – Vivek 2013-03-27 18:00:16