Компиляция TinyXML - Visual C ++ (Pocket PC) - PullRequest
1 голос
/ 22 декабря 2011

Я изо всех сил пытаюсь заставить TinyXML работать в моем проекте Visual C ++.

Я пытаюсь создать приложение для Windows Mobile 5.0 / CE, читающее файл конфигурации XML. Я использую архитектуру Pocket PC 2003 (ARMV4) в MFC Smart Project на основе диалоговых окон. Даже в пустом проекте, просто пытаясь скомпилировать библиотеку, он дает мне тот же результат, и я не понимаю, почему.

Я добавил эти шесть файлов в свой проект:

- 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

идентификатор идентифицируемый можно перевести как идентификатор не найден .

Кто-нибудь знает почему?

Спасибо!

1 Ответ

2 голосов
/ 02 января 2012

Я наконец решил свою проблему.У меня была такая же проблема с другими библиотеками, такими как 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

Изменив условие объявления (например, MSC_VER на 4000), библиотека объявила другие функции, которые позволили мне правильно перекомпилировать.Теперь он работает на Windows Mobile.

Надеюсь, это поможет!

...