2011-12-22 11 views
1

Visual C++プロジェクトでTinyXMLを動作させるのに苦労しています。TinyXML Compilation - Visual C++(Pocket PC)

XML構成ファイルを読み込んでいるWindows Mobile 5.0/CEアプリケーションを作成しようとしています。 ダイアログボックスのMFCスマートプロジェクトベースでPocket PC 2003(ARMV4)アーキテクチャを使用します。空のプロジェクトであっても、ライブラリをコンパイルしようとすると、同じ結果が得られますが、その理由はわかりません。

私は私のプロジェクトでは、これらの6つのファイルを追加しました:

- tinyxml.h 
- tinystr.h 
- tinyxml.cpp 
- tinystr.cpp 
- tinyxmlerror.cpp 
- tinyxmlparser.cpp 

をそしてコンパイルするとき、それは私にこれを与える:

tinyxml.cpp 
..\..\tinyxml_2_6_2\tinyxml\tinyxml.cpp(44) : error C3861: 'fopen_s' : identificateur introuvable 
..\..\tinyxml_2_6_2\tinyxml\tinyxml.cpp(116) : error C3861: '_snprintf_s' : identificateur introuvable 
..\..\tinyxml_2_6_2\tinyxml\tinyxml.cpp(1239) : error C3861: 'sscanf_s' : identificateur introuvable 
..\..\tinyxml_2_6_2\tinyxml\tinyxml.cpp(1246) : error C3861: 'sscanf_s' : identificateur introuvable 
..\..\tinyxml_2_6_2\tinyxml\tinyxml.cpp(1255) : error C3861: '_snprintf_s' : identificateur introuvable 
..\..\tinyxml_2_6_2\tinyxml\tinyxml.cpp(1266) : error C3861: '_snprintf_s' : identificateur introuvable 

識別子がを見つけていないようを翻訳することができidentificateur introuvable。

誰でも知っていますか?

ありがとうございます!

答えて

2

私は最終的に私の問題を解決しました。私はPugiXMLのような他のライブラリにも同じ問題がありました。

実際に、それは以前に引用された関数の宣言によって引き起こされた:

fopen_s 
_snprintf_s 
sscanf_s 

Windows Mobileのアーキテクチャは、それらに対処することができないようです。彼らは、Visual Studioのバージョンに応じて、コード内で宣言された:

#if !defined(_MSC_VER) || _MSC_VER >= 1300 
    declaration (fopen_s, sscanf_s ...) 
#else 
    other declaration 

宣言の条件を変更することで(4000例MSC_VERのため)、ライブラリは私が適切に再コンパイルすることができ、他の関数を宣言しました。現在、Windows Mobile上で動作しています。

願っています。

+0

私の場合、#ifがCEのもとで異なるように修正する必要がありました。 – korbes

関連する問題