C++ 如何解决.lib文件中方法的差异?

C++ 如何解决.lib文件中方法的差异?,c++,visual-studio-2008,windows-ce,linker-errors,C++,Visual Studio 2008,Windows Ce,Linker Errors,我正在尝试让第三方库使用我的代码。我已经获得了库的源代码,并且已经验证了构建选项与我自己的构建选项匹配,但是我还没有浏览所有的源代码来了解它在做什么 我的代码调用行值m_jsonValRoot这会给我以下链接错误: Linking... 1>JsonWrapper.obj : error LNK2019: unresolved external symbol "public: __cdecl Json::Value::~Value(void)" (??1Value@Json@@QAA@XZ

我正在尝试让第三方库使用我的代码。我已经获得了库的源代码,并且已经验证了构建选项与我自己的构建选项匹配,但是我还没有浏览所有的源代码来了解它在做什么

我的代码调用行
值m_jsonValRoot这会给我以下链接错误:

Linking...
1>JsonWrapper.obj : error LNK2019: unresolved external symbol "public: __cdecl Json::Value::~Value(void)" (??1Value@Json@@QAA@XZ) referenced in function "public: class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsOS<wchar_t> > > __cdecl Json::CJsonWrapper::RunTest(class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsOS<wchar_t> > >)" (?RunTest@CJsonWrapper@Json@@QAA?AV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsOS@_W@ATL@@@@@ATL@@V34@@Z)
1>JsonWrapper.obj : error LNK2019: unresolved external symbol "public: __cdecl Json::Value::Value(int)" (??0Value@Json@@QAA@H@Z) referenced in function "public: class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsOS<wchar_t> > > __cdecl Json::CJsonWrapper::RunTest(class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsOS<wchar_t> > >)" (?RunTest@CJsonWrapper@Json@@QAA?AV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsOS@_W@ATL@@@@@ATL@@V34@@Z)
1>Windows Mobile 6.5.3 Standard DTK (ARMV4I)\Debug\CCRDEX_UI.exe : fatal error LNK1120: 2 unresolved externals
我试图通过更改header文件中的方法声明来解决此问题,方法声明的格式为:
Value(ValueType=nullValue)到调用值(ValueType=nullValue),但这对链接器没有影响

我正在VisualStudio2008中使用共享DLL中的MFC,使用unicode构建一个项目,并且正在构建WindowsMobile 6.5.3


我可以采取哪些步骤来重新解决链接问题?

我在构建lib文件时做了一些遗忘的事情


当我需要为移动设备构建它时,我意外地为Win32构建了它。

不要编辑标题,这只会给你挖一个更深的洞。把注意力集中在丢失的析构函数上。您没有提供任何证据表明您实际上正在链接此库。这是一个简单的解释。这只是一个测试,希望能解决它。。。我在没有影响的时候把它解开了。我将头文件直接放在项目中,我还将路径包含在“附加包含目录”中。lib文件包含在“附加依赖项”下。我已确认.lib链接正确。我篡改了它,得到了一个不同的错误'LINK:fatal error LNK1181:无法打开输入文件'json_debug_vc90_libmtd.lib'。。。所以我知道它最初是链接到lib的
SECTION HEADER #C7
   .text name
       0 physical address
       0 virtual address
     194 size of raw data
   22345 file pointer to raw data (00022345 to 000224D8)
   224D9 file pointer to relocation table
       0 file pointer to line numbers
      12 number of relocations
       0 number of line numbers
60501020 flags
         Code
         COMDAT; sym= "public: __thiscall Json::Value::Value(enum Json::ValueType)" (??0Value@Json@@QAE@W4ValueType@1@@Z)
         16 byte align
         Execute Read