vbloodv
@vbloodv
Программист С++

Почему в элементе библиотеки tinyxml нет работает метод QueryStringAttribute?

Использую tinyxml
Код выглядит примерное так:
#include <vector>
#include <string>
#include "tinyxml/tinystr.h" // подключит от безысходности
#include "tinyxml/tinyxml.h"
typedef std::string String;
...
...
	TiXmlDocument file( "data/resource.xml" );
	if (file.LoadFile())
	{
				String path;
				path = element->Attribute("src");
				element->QueryStringAttribute("src",&path); // Ошибка при сборке
				element->QueryFloatAttribute("x",&spr_x); // нормально
		}
	}
Текст ошибки:
%class%.cpp(20) : error C2039: QueryStringAttribute: не является членом "TiXmlElement"
%projectname%\src\tinyxml\tinyxml.h(940): см. объявление 'TiXmlElement'
  • Вопрос задан
  • 2998 просмотров
Решения вопроса 1
vbloodv
@vbloodv Автор вопроса
Программист С++
В настройках компилятора добавил препроцесор TINYXML_USE_STL
все заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Lol4t0
Навеное, библиотека собрана без поддержки STL

tinyxml.h:
#ifdef TIXML_USE_STL
        /// QueryStringAttribute examines the attribute - see QueryIntAttribute().
	int QueryStringAttribute( const char* name, std::string* _value ) const {
		...
#ifdef TIXML_USE_STL


По умолчанию, данная опция выключена
Makefile
# TINYXML_USE_STL can be used to turn on STL support. NO, then STL
# will not be used. YES will include the STL files.
TINYXML_USE_STL := NO
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы