0

サードパーティのライブラリを自分のコードで動作させようとしています。私はライブラリのソースを持っており、ビルド オプションが自分のビルド オプションと一致することを確認しましたが、それが何をしているのかを知るためにすべてのソース コードを調べたわけではありません。

私のコードはValue 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

.lib ファイルで dumpbin を実行したところ、関数が次のように定義されていることがわかりました。

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

ヘッダー ファイルのメソッド宣言を から に変更することでこれを解決しようとしましたValue( ValueType type = nullValue );__thiscall Value( ValueType type = nullValue );、リンカーには影響しませんでした。

共有DLLでMFCを使用し、ユニコードを使用してVisual Studio 2008でプロジェクトを構築しており、Windows Mobile 6.5.3用に構築しています

リンクの問題を解決するには、どのような手順を実行できますか?

4

1 に答える 1