hedger / bwxml Goto Github PK
View Code? Open in Web Editor NEWA tool for packing and unpacking BigWorld compressed data sections from/to plain XML
A tool for packing and unpacking BigWorld compressed data sections from/to plain XML
boost::ptree's XML parser/generator replaces tabulation chars with spaces.
Ubuntu 12.04, 14.04
GCC 4.6.3, 4.8.2; Clang 3.4
Boost 1.49, 1.54
/home/mixaill/repo_git/BWXML/src/BWReader.cpp: In member function ‘void BWPack::BWXMLReader::readData(BigWorld::DataDescriptor, boost::property_tree::ptree&, int)’:
/home/mixaill/repo_git/BWXML/src/BWReader.cpp:70:35: error: no matching function for call to ‘boost::property_tree::basic_ptree<std::basic_string<char>, std::basic_string<char> >::swap(boost::property_tree::ptree)’
current_node.swap(ReadSection()); //yay recursion!
^
/home/mixaill/repo_git/BWXML/src/BWReader.cpp:70:35: note: candidate is:
In file included from /usr/include/boost/property_tree/ptree.hpp:516:0,
from /home/mixaill/repo_git/BWXML/include/BWReader.h:23,
from /home/mixaill/repo_git/BWXML/src/BWReader.cpp:17:
/usr/include/boost/property_tree/detail/ptree_implementation.hpp:212:10: note: void boost::property_tree::basic_ptree<Key, Data, KeyCompare>::swap(boost::property_tree::basic_ptree<Key, Data, KeyCompare>&) [with Key = std::basic_string<char>; Data = std::basic_string<char>; KeyCompare = std::less<std::basic_string<char> >]
void basic_ptree<K, D, C>::swap(basic_ptree<K, D, C> &rhs)
^
/usr/include/boost/property_tree/detail/ptree_implementation.hpp:212:10: note: no known conversion for argument 1 from ‘boost::property_tree::ptree {aka boost::property_tree::basic_ptree<std::basic_string<char>, std::basic_string<char> >}’ to ‘boost::property_tree::basic_ptree<std::basic_string<char>, std::basic_string<char> >&’
b. Clang log
/home/mixaill/repo_git/BWXML/src/BWReader.cpp:70:22: error: non-const lvalue reference to type 'basic_ptree<[3 * ...]>' cannot bind to a temporary of
type 'basic_ptree<[3 * ...]>'
current_node.swap(ReadSection()); //yay recursion!
^~~~~~~~~~~~~
/usr/include/boost/property_tree/ptree.hpp:99:30: note: passing argument to parameter 'rhs' here
void swap(self_type &rhs);
^
/home/mixaill/repo_git/BWXML/src/BWWriter.cpp: In member function ‘std::string BWPack::BWXMLWriter::serializeSection(const ptree&) const’:
/home/mixaill/repo_git/BWXML/src/BWWriter.cpp:161:92: error: no matching function for call to ‘BWPack::dataBlock::dataBlock(int, BWPack::rawDataBlock)’
childData.push_back(dataBlock(resolveString(it->first), serializeNode(it->second, false)));
^
/home/mixaill/repo_git/BWXML/src/BWWriter.cpp:161:92: note: candidates are:
In file included from /home/mixaill/repo_git/BWXML/include/BWWriter.h:24:0,
from /home/mixaill/repo_git/BWXML/src/BWWriter.cpp:17:
/home/mixaill/repo_git/BWXML/include/BWCommon.h:36:3: note: BWPack::dataBlock::dataBlock(short int, BWPack::rawDataBlock&)
dataBlock(const short _stringId, rawDataBlock& _data) : stringId(_stringId), data(_data) {};
^
/home/mixaill/repo_git/BWXML/include/BWCommon.h:36:3: note: no known conversion for argument 2 from ‘BWPack::rawDataBlock’ to ‘BWPack::rawDataBlock&’
/home/mixaill/repo_git/BWXML/include/BWCommon.h:32:9: note: BWPack::dataBlock::dataBlock(const BWPack::dataBlock&)
struct dataBlock
^
/home/mixaill/repo_git/BWXML/include/BWCommon.h:32:9: note: candidate expects 1 argument, 2 provided
/home/mixaill/repo_git/BWXML/include/BWCommon.h:32:9: note: BWPack::dataBlock::dataBlock(BWPack::dataBlock&&)
/home/mixaill/repo_git/BWXML/include/BWCommon.h:32:9: note: candidate expects 1 argument, 2 provided
b. Clang log
/home/mixaill/repo_git/BWXML/src/BWWriter.cpp:161:24: error: no matching constructor for initialization of 'BWPack::dataBlock'
childData.push_back(dataBlock(resolveString(it->first), serializeNode(it->second, false)));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mixaill/repo_git/BWXML/include/BWCommon.h:36:3: note: candidate constructor not viable: expects an l-value for 2nd argument
dataBlock(const short _stringId, rawDataBlock& _data) : stringId(_stringId), data(_data) {};
^
/home/mixaill/repo_git/BWXML/include/BWCommon.h:32:9: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but
2 were provided
struct dataBlock
^
/home/mixaill/repo_git/BWXML/include/BWCommon.h:32:9: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but
2 were provided
Trying to build it under CentOS release 6.7 (Final)
Linux version 2.6.32-431.11.2.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Tue Mar 25 19:59:55 UTC 2014
And on make getting
[ 16%] Building CXX object CMakeFiles/bwxml.dir/BWXML/main.cpp.o
/root/BWXML-1.04/BWXML/main.cpp: In function ‘std::string FindCommonPrefix(const std::vector<boost::filesystem::path, std::allo catorboost::filesystem::path >&)’:
/root/BWXML-1.04/BWXML/main.cpp:45: error: expected primary-expression before ‘[’ token
/root/BWXML-1.04/BWXML/main.cpp:45: error: expected primary-expression before ‘]’ token
/root/BWXML-1.04/BWXML/main.cpp:45: error: expected primary-expression before ‘const’
/root/BWXML-1.04/BWXML/main.cpp:45: error: expected primary-expression before ‘const’
/root/BWXML-1.04/BWXML/main.cpp:45: error: unable to deduce ‘auto’ from ‘’
/root/BWXML-1.04/BWXML/main.cpp:45: error: expected ‘,’ or ‘;’ before ‘{’ token
/root/BWXML-1.04/BWXML/main.cpp: In function ‘int main(int, char*)’:
/root/BWXML-1.04/BWXML/main.cpp:136: error: expected primary-expression before ‘[’ token
/root/BWXML-1.04/BWXML/main.cpp:136: error: expected primary-expression before ‘]’ token
/root/BWXML-1.04/BWXML/main.cpp:136: error: expected primary-expression before ‘const’
/root/BWXML-1.04/BWXML/main.cpp:154: error: expected primary-expression before ‘[’ token
/root/BWXML-1.04/BWXML/main.cpp:154: error: expected primary-expression before ‘]’ token
/root/BWXML-1.04/BWXML/main.cpp:154: error: expected primary-expression before ‘int’
/root/BWXML-1.04/BWXML/main.cpp:154: error: unable to deduce ‘auto’ from ‘’
/root/BWXML-1.04/BWXML/main.cpp:155: error: expected ‘,’ or ‘;’ before ‘{’ token
/root/BWXML-1.04/BWXML/main.cpp:202: error: expected ‘}’ at end of input
/root/BWXML-1.04/BWXML/main.cpp:202: error: expected ‘catch’ at end of input
/root/BWXML-1.04/BWXML/main.cpp:202: error: expected ‘(’ at end of input
/root/BWXML-1.04/BWXML/main.cpp:202: error: expected type-specifier at end of input
/root/BWXML-1.04/BWXML/main.cpp:202: error: expected ‘)’ at end of input
/root/BWXML-1.04/BWXML/main.cpp:202: error: expected ‘{’ at end of input
/root/BWXML-1.04/BWXML/main.cpp:202: error: expected ‘}’ at end of input
make[2]: ** [CMakeFiles/bwxml.dir/BWXML/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/bwxml.dir/all] Error 2
make: *** [all] Error 2
Nice work on this..
Unfortunately, It fails to build.
I'm linking to Boost 1.66.0 and it wont build because of this line in WEReader.cpp ...
{ --->> static auto settings = boost::property_tree::xml_writer_make_settings('\t', 1u ); boost::property_tree::write_xml(destname, mTree, std::locale(), settings); }
There error from VS 2013 is ,,,
Error 1 error C2783: 'boost::property_tree::xml_parser::xml_writer_settings<Str> boost::property_tree::xml_parser::xml_writer_make_settings(Str::value_type,Str::size_type,const Str &)' : could not deduce template argument for 'Str' c:\!_new_terra\terra_2\bw_xml_decoder\bwreader.cpp 46 1 Terra_2
It seems that the Boost file is having an issue figuring out what type I'm sending it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.