2012-03-13 9 views
0

私のプロジェクトでは、私は__stdcallを使用することが重要です。しかし、私はこれを取得:Xerces-C 3.0の使用中に__stdcall conventionを使用できますか?私はリンカのエラーを取得します

1> ExchangeParser.obj:エラーLNK2001:未解決の外部シンボル「パブリック:静的な無効__cdecl xercesc_3_0 :: XMLString ::リリース(符号なしshort * *、クラスxercesc_3_0 :: MemoryManager * constの):ExchangeParser.obj:エラーLNK2001:未解決の外部シンボル "public:static char * __cdecl xercesc_3_0 :: XMLString :: transcode(unsigned short const * "ExchangeServices.obj:エラーLNK2001:未解決の外部シンボル" public:静的なunsigned short * __cdecl xercesc_3_0:エラーコード: :XMLString :: transcode(char const * const、クラスxercesc_3_0 :: MemoryManager * const) "(?transc @ xercesc_3_0 @@ SAPEAGQEBDQEAVMemoryManager @ 2 @@ Z)1> ExchangeParser.obj:エラーLNK2001:未解決の外部シンボル "public:static char const * const xercesc_3_0 :: XMLUni :: fgXercescDefaultLocale"(?fgXercescDefaultLocale @ XMLUni @ xercesc_3_0 @@ 2QBDB) 1> ExchangeParser.obj:エラーLNK2001:未解決の外部シンボル「public:静的クラスxercesc_3_0 :: MemoryManager * xercesc_3_0 :: XMLPlatformUtils :: fgMemoryManager」(fgMemoryManager @ XMLPlatformUtils @ xercesc_3_0 @@ 2PEAVMemoryManager @ 2 @ EA)1> ExchangeParser.obj:エラーLNK2001:未解決の外部シンボル "public:静的クラスxercesc_3_0 :: DOMImplementation * __cdecl xercesc_3_0 :: DOMImplementationRegistry :: getDOMImplementation(unsigned short const *)"(?getDOMImplementation @ DOMImplementationRegistry @ xercesc_3_0 @@ SAPEAVDOMImplementation @ 2 @ PEBG @ Z) 1> ExchangeParser.obj:エラーLNK2001:未解決の外部シンボル "p "パブリック:静的な符号なしの短いconst * const xercesc_3_0"(パブリック:未定義の外部シンボル "パブリック:静的な符号なしのshort const * const xercesc_3_0"):ExchangeParser.obj:エラーLNK2001: :: XMLUni :: fgDOMXMLDeclaration "(?fgDOMXMLDeclaration @ XMLUni @ xercesc_3_0 @@ 2QBGB)

助けてください?

+0

お使いのOSは? __stdcallはwin32 APIです。http://stackoverflow.com/questions/297654/what-is-stdcallを参照してください。 – EdChum

答えて

0

Xercesはopen sourceなので、__stdcallをデフォルトの規則として使用する独自のバリアントをコンパイルするだけでは、リンケージエラーが発生しません。

Windows IDE(使用していると思われるMSVCを含む)にもプロジェクトが付属しているため、ロードするだけでグローバルオプションが1つ変更され、コンパイルが行われるだけです__cdeclを明示的に使用する必要がありますが、ビルド時にこれらの場所でエラーが発生します)。

+0

__stdcallを使用してコンパイルを試みましたが、同じエラーが発生しました。これらのメソッドは明示的に__cdecl規約を使用しているようです。他の方法でこの問題を回避する方法はありますか?ありがとう – puzdrow

+0

@ user1266041:これらのメソッドに '__cdecl'が明示的に必要で、ヘッダーの定義を明示的に行う必要がある場合は、これを' __cdecl'関数属性 – Necrolis

関連する問題