Completely new interface to TinyXML

Related tags

XML ticpp
Overview

TiCPP is short for the official name TinyXML++. It is a completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. It is also fully documented in Doxygen. It is really cool because this version lets you interface tiny the exact same way as before or you can choose to use the new ticpp classes. All you need to do is define TIXML_USE_TICPP. It has been tested in VC 6.0, VC 7.0, VC 7.1, VC 8.0, MinGW gcc 3.4.5, and in Linux GNU gcc 3+.

Build status

Get Help:

Documentation:

Comments
  • unreachable code

    unreachable code

    I'm getting a lot of unreachable code warnings as well as "unreferenced
    formal parameter" for 'depth' and 'stream'. Is this normal or have I done
    something wrong?
    
    I'm using version 1.0.1 and i've defined "TIXML_USE_TICPP" in my project.
    
    Thanks,
    Iñigo
    

    Original issue reported on code.google.com by [email protected] on 16 Apr 2007 at 3:12

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 9
  • Trying to link against ticpp and seeing some weirdness

    Trying to link against ticpp and seeing some weirdness

    I am trying to link again ticpp with a very simple example of a program
    (it's not meant to do anything, just a proof of linking with ticpp
    successfully). The source of the program is the following:
    
    #define TIXML_USE_TICPP
    
    #include "ticpp.h"
    
    int main()
    {
        ticpp::Document xmldoc;
    
        return 0;
    }
    
    To compile, I issued this at my command line: g++ main.cpp -L/usr/lib -lticpp
    
    libticpp.a is definitely located in /usr/lib/
    
    To create the libticpp.a static library, I did a premake with the command
    flag of: premake --target gnu
    
    I'm not exactly sure why, but I get linking errors as follows:
    
    [email protected]:~/Projects/test_ticpp$ g++ main.cpp -L/usr/lib -lticpp
    /tmp/ccRYFUpH.o: In function `main':
    main.cpp:(.text+0x195): undefined reference to `ticpp::Document::Document()'
    /tmp/ccRYFUpH.o: In function
    `ticpp::NodeImp<TiXmlDocument>::operator=(ticpp::NodeImp<TiXmlDocument>
    const&)':
    main.cpp:(.text._ZN5ticpp7NodeImpI13TiXmlDocumentEaSERKS2_[ticpp::NodeImp<TiXmlD
    ocument>::operator=(ticpp::NodeImp<TiXmlDocument>
    const&)]+0x1b): undefined reference to `TiCppRCImp::DecRef()'
    main.cpp:(.text._ZN5ticpp7NodeImpI13TiXmlDocumentEaSERKS2_[ticpp::NodeImp<TiXmlD
    ocument>::operator=(ticpp::NodeImp<TiXmlDocument>
    const&)]+0x3e): undefined reference to `TiCppRCImp::IncRef()'
    /tmp/ccRYFUpH.o: In function `ticpp::NodeImp<TiXmlDocument>::~NodeImp()':
    main.cpp:(.text._ZN5ticpp7NodeImpI13TiXmlDocumentED2Ev[ticpp::NodeImp<TiXmlDocum
    ent>::~NodeImp()]+0x26):
    undefined reference to `TiCppRCImp::DecRef()'
    /tmp/ccRYFUpH.o: In function `ticpp::NodeImp<TiXmlDocument>::~NodeImp()':
    main.cpp:(.text._ZN5ticpp7NodeImpI13TiXmlDocumentED0Ev[ticpp::NodeImp<TiXmlDocum
    ent>::~NodeImp()]+0x26):
    undefined reference to `TiCppRCImp::DecRef()'
    /tmp/ccRYFUpH.o: In function `ticpp::NodeImp<TiXmlDocument>::~NodeImp()':
    main.cpp:(.text._ZN5ticpp7NodeImpI13TiXmlDocumentED1Ev[ticpp::NodeImp<TiXmlDocum
    ent>::~NodeImp()]+0x26):
    undefined reference to `TiCppRCImp::DecRef()'
    /tmp/ccRYFUpH.o: In function `ticpp::Base::ValidatePointer() const':
    main.cpp:(.text._ZNK5ticpp4Base15ValidatePointerEv[ticpp::Base::ValidatePointer(
    )
    const]+0x14): undefined reference to `TiCppRCImp::IsNull()'
    main.cpp:(.text._ZNK5ticpp4Base15ValidatePointerEv[ticpp::Base::ValidatePointer(
    )
    const]+0x1b8): undefined reference to
    `ticpp::Exception::Exception(std::basic_string<char,
    std::char_traits<char>, std::allocator<char> > const&)'
    main.cpp:(.text._ZNK5ticpp4Base15ValidatePointerEv[ticpp::Base::ValidatePointer(
    )
    const]+0x22e): undefined reference to `ticpp::Exception::~Exception()'
    main.cpp:(.text._ZNK5ticpp4Base15ValidatePointerEv[ticpp::Base::ValidatePointer(
    )
    const]+0x236): undefined reference to `typeinfo for ticpp::Exception'
    /tmp/ccRYFUpH.o: In function
    `ticpp::Node::IterateFirst(std::basic_string<char, std::char_traits<char>,
    std::allocator<char> > const&, ticpp::Attribute**) const':
    main.cpp:(.text._ZNK5ticpp4Node12IterateFirstERKSsPPNS_9AttributeE[ticpp::Node::
    IterateFirst(std::basic_string<char,
    std::char_traits<char>, std::allocator<char> > const&, ticpp::Attribute**)
    const]+0x1a2): undefined reference to
    `ticpp::Exception::Exception(std::basic_string<char,
    std::char_traits<char>, std::allocator<char> > const&)'
    main.cpp:(.text._ZNK5ticpp4Node12IterateFirstERKSsPPNS_9AttributeE[ticpp::Node::
    IterateFirst(std::basic_string<char,
    std::char_traits<char>, std::allocator<char> > const&, ticpp::Attribute**)
    const]+0x218): undefined reference to `ticpp::Exception::~Exception()'
    main.cpp:(.text._ZNK5ticpp4Node12IterateFirstERKSsPPNS_9AttributeE[ticpp::Node::
    IterateFirst(std::basic_string<char,
    std::char_traits<char>, std::allocator<char> > const&, ticpp::Attribute**)
    const]+0x220): undefined reference to `typeinfo for ticpp::Exception'
    collect2: ld returned 1 exit status
    
    
    

    Original issue reported on code.google.com by [email protected] on 11 Jun 2008 at 4:58

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 8
  • Stack overflow with large XML Documents in VS2008

    Stack overflow with large XML Documents in VS2008

    What steps will reproduce the problem?
    1. Create ticpp::Document with ~30000 elements with subelements
    2. wait for the destructor to call void DeleteSpawnedWrappers()
    3.
    
    What is the expected output? What do you see instead?
    expected: no problems
    instead:
    stack overflow, apparently deletespawnedwrappers is called recursively?
    
    What version of the product are you using? On what operating system?
    SVN commit 81. Visual Studio 2008
    
    Please provide any additional information below.
    my Xml document is composed of several thousand elements (~20k) with each 
    subnodes (problem exists with both subelements and attributes). Resulting 
    XML document is 6mb of size after dump to disk using ostream. Reading the 
    same file with istream results in 80mb memory usage (some real stream 
    based nodereader is appreciated). It still properly reads the xml 
    document, but on destruction VS2008 crashes with a stack overflow.
    
    
    

    Original issue reported on code.google.com by [email protected] on 5 Jan 2008 at 7:59

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 6
  • Memory leak

    Memory leak

    SVN revision 99
    
    ~TiCppRC() does not destroy correctly m_tiRC.
    
    Here is the code
    
    TiCppRC::~TiCppRC()
    {   
        DeleteSpawnedWrappers();
    
        // Set pointer held by reference counter to NULL
        this->m_tiRC->Nullify();
    
        // Decrement reference - so reference counter will delete itself if necessary
        this->m_tiRC->DecRef();
    }
    
    The problem is TiCppRCImp(). Nullify() will put ref count to zero, then
    DecRef() will decrement it once more, becoming negative, then test "if ( 0
    == m_count )" will fail and object will never be destructed.
    
    Simple solution is to replace == by >=
    
    void TiCppRCImp::DecRef()
    {
        --m_count;
        if ( 0 >= m_count )
        {
            delete m_tiCppRC;
            delete this;
        }
    }
    
    
    There seems to be another leak. Chasing it
    
    

    Original issue reported on code.google.com by [email protected] on 5 May 2009 at 1:29

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 5
  • TinyXML++ experience poor, will now try CodeSynthesis XSD

    TinyXML++ experience poor, will now try CodeSynthesis XSD

    
    I thought that I would write here (since there is no forum) and mention
    that my experience with TinyXML++ was very poor.  I was looking for a quick
    and easy solution for reading/writing C++ object configuration files.  As
    such I came across TinyXML++ and CodeSynthesis XSD.  The latter being a XML
    Data binder for C++.  I read on both and decided upon TinyXML++ simply
    because I thought CodeSynthesis required more configuration, making my
    project as a whole less portable and more hassle to work with at future
    dates if there are interruptions...i.e. I hate working with something and
    then coming back to it months later and having to figure out again how to
    run a separate compiler.   I strive for simplicity in configuration, and
    use.   So I tried TinyXML++ and now have decided to abandon it.  Here is my
    brief assesment of TinyXML++:
    
    Documentation is very poor.  Premake instructions are not up to date, and
    examples in the tutorial are incomplete.
    Source commenting is almost non existent.
    Was able to build lib file with MSVS but then got exception, in my program,
    when trying to load a test XML file.
    Tried to build TinyXML as part of my program but ran into numerous errors.
    
    To sum up, way too much difficulty involved to mess further with,
    especially for something that is supposed to be minimalistic.   As a
    programmer I forgive a lack of good documentation etc. only if they just
    work and have zero defects.
    
    
    
    

    Original issue reported on code.google.com by [email protected] on 23 Apr 2009 at 10:13

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 5
  • Memory leaks using Node::InsertEndChild()

    Memory leaks using Node::InsertEndChild()

    # What steps will reproduce the problem?
    
        Document doc;
        Element elem("Element");
        doc.InsertEndChild(elem);
    
    # What is the expected output? What do you see instead?
    
    I would expect, that no memory leaks are occuring. Instead I see two
    objects created at ticpp.cpp(1084, TiCppRC::TiCppRC()) and one created at
    ticpp.cpp(881, Element::Element()).
    
    # What version of the product are you using? On what operating system?
    
    Version 2.5.3. Windows XP, VS2005.
    
    # Please provide any additional information below.
    
    I think the reference count of addThis in Node::InsertEndChild() must not
    be incremented (remove "addThis.m_impRC->IncRef();"). As far as I
    understand, an independend copy is created in TiXmlNode::InsertEndChild()
    with TiXmlNode* node = addThis.Clone(); ?
    
    At least in my project it helped ;-)
    
    

    Original issue reported on code.google.com by [email protected] on 24 Feb 2008 at 8:30

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 5
  • the VC2005 project does not create stub lib for the DLL build (--shared)

    the VC2005 project does not create stub lib for the DLL build (--shared)

    What steps will reproduce the problem?
    1. premake --target vs2005 --unicode --shared
    2. build using vs2005
    3. DLL are created but no stub lib files 
    
    What is the expected output? What do you see instead?
    stub .lib files must exists
    
    What version of the product are you using? On what operating system?
    -
    
    Please provide any additional information below.
    
    
    

    Original issue reported on code.google.com by [email protected] on 20 Jan 2008 at 8:59

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 5
  • Build with AppVeyor CI

    Build with AppVeyor CI

    This adds a configuration file for AppVeyor which will automatically build ticpp in 32 bit / 64 bit and debug / release.

    The only thing needed is to activate it on AppVeyor, output will look similar to this: https://ci.appveyor.com/project/jhasse/ticpp

    opened by jhasse 4
  • Official download page contains no download

    Official download page contains no download

    Hi,
    
    the official download page on http://code.google.com/p/ticpp/downloads/list
    contains no downloads. The only version of ticpp available from
    code.google.com is therefore the snapshot from
    http://code.google.com/p/ticpp/source/checkout
    
    Is this the intent?
    
    Ciao,
    Mark Roberts
    
    

    Original issue reported on code.google.com by [email protected] on 17 Oct 2008 at 2:28

    auto-migrated Priority-Low Type-Task 
    opened by GoogleCodeExporter 4
  • TinyXML++ on the PSP.

    TinyXML++ on the PSP.

    What steps will reproduce the problem?
    
    psp-g++ -I. -I/usr/local/pspdev/psp/sdk/include -G4 -Wall -O2  -I. -
    I/usr/local/pspdev/psp/sdk/include -G4 -Wall -O2  -fno-exceptions -fno-rtti -
    D_PSP_FW_VERSION=150   -c -o main.o main.cpp
    
    What is the expected output? What do you see instead?
    I expected the program to compile properly. Instead, I see:
    
    /usr/local/pspdev/psp/sdk/include/ticpp.h: In member function 'T* 
    ticpp::Node::To() const':
    /usr/local/pspdev/psp/sdk/include/ticpp.h:886: error: cannot use typeid with 
    -fno-rtti
    /usr/local/pspdev/psp/sdk/include/ticpp.h:887: error: cannot use typeid with 
    -fno-rtti
    /usr/local/pspdev/psp/sdk/include/ticpp.h:888: error: cannot use typeid with 
    -fno-rtti
    /usr/local/pspdev/psp/sdk/include/ticpp.h: In constructor 
    'ticpp::NodeImp<T>::NodeImp(T*)':
    /usr/local/pspdev/psp/sdk/include/ticpp.h:1217: error: cannot use typeid with 
    -fno-rtti
    main.cpp: In function 'int main(int, char**)':
    main.cpp:38: error: invalid conversion from 'ticpp::Node*' to 'ticpp::Element*'
    make: *** [main.o] Error 1
    
    What version of the product are you using? On what operating system?
    TinyXML++ 2.5.3 on Mac OSX 10.5 ( Leopard )
    
    Please provide any additional information below.
    
    Makefile.psp
    
    # Makefile.psp by Giancarlo Canales ([email protected])
    
    TICPP= .
    
    PSPSDK = $(shell psp-config --pspsdk-path)
    PSPDIR = $(shell psp-config --psp-prefix)
    
    CFLAGS = -O2 -G0 -I$(LUA)/include
    
    OBJS = ticpp.o tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o 
    TARGET_LIB = libticpp.a
    
    include $(PSPSDK)/lib/build.mak
    
    install: all
        mkdir -p $(PSPDIR)/include $(PSPDIR)/lib
        cp ticpprc.h tinyxml.h tinystr.h ticpp.h $(PSPDIR)/include
        cp libticpp.a $(PSPDIR)/lib
    
    
    

    Original issue reported on code.google.com by [email protected] on 24 Jun 2008 at 5:30

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 4
  • Problem compiling my program against TinyXML++

    Problem compiling my program against TinyXML++

    What steps will reproduce the problem?
    
    #include<ticpp.h>
    
    using namespace ticpp;
    
    Then try and compile my program (specifically the particular source file in
    my program that includes ticpp.h) using g++ v4.2.3 via the line:
    
    g++ -o src/channellisthandler.o -c -O0 -Wall -g -Isrc -Iinclude
    -I/usr/local/include -I/usr/local/lib -I/usr/include/ace
    src/channellisthandler.cpp
    
    What is the expected output? What do you see instead?
    
    The expected result is for my program to compile successfully by g++
    recognizing the ticpp namespace. Instead, I see:
    
    src/channellisthandler.cpp: In member function ‘void
    mcm::ChannelListHandler::loadChannelList()’:
    
    src/channellisthandler.cpp:128: error: ‘ticpp’ has not been declared
    
    src/channellisthandler.cpp:128: error: expected `;' before ‘xmldoc’
    
    src/channellisthandler.cpp:129: error: ‘xmldoc’ was not declared in this 
    scope
    
    src/channellisthandler.cpp:131: error: expected type-specifier before 
    ‘ticpp’
    
    src/channellisthandler.cpp:131: error: expected `)' before ‘:’ token
    
    src/channellisthandler.cpp:131: error: expected `{' before ‘:’ token
    
    src/channellisthandler.cpp:131: error: expected primary-expression before
    ‘:’ token
    
    src/channellisthandler.cpp:131: error: expected `;' before ‘:’ token
    
    src/channellisthandler.cpp:157: error: ‘ticpp’ has not been declared
    
    src/channellisthandler.cpp:157: error: ‘pChannel’ was not declared in this
    scope
    
    src/channellisthandler.cpp:157: error: ‘xmldoc’ was not declared in this 
    scope
    
    src/channellisthandler.cpp:159: error: ‘ticpp’ has not been declared
    
    src/channellisthandler.cpp:159: error: ‘ticpp’ has not been declared
    
    src/channellisthandler.cpp:159: error: ‘childIt’ was not declared in this 
    scope
    
    src/channellisthandler.cpp:164: error: ‘ticpp’ has not been declared
    
    src/channellisthandler.cpp:164: error: ‘pNumberElem’ was not declared in
    this scope
    
    src/channellisthandler.cpp:166: error: expected type-specifier before 
    ‘ticpp’
    
    src/channellisthandler.cpp:166: error: expected `)' before ‘:’ token
    
    src/channellisthandler.cpp:166: error: expected `{' before ‘:’ token
    
    src/channellisthandler.cpp:166: error: expected primary-expression before
    ‘:’ token
    
    src/channellisthandler.cpp:166: error: expected `;' before ‘:’ token
    
    src/channellisthandler.cpp:172: error: ‘ticpp’ has not been declared
    
    src/channellisthandler.cpp:172: error: ‘pNameElem’ was not declared in this
    scope
    
    src/channellisthandler.cpp:174: error: expected type-specifier before 
    ‘ticpp’
    
    src/channellisthandler.cpp:174: error: expected `)' before ‘::’ token
    
    src/channellisthandler.cpp:174: error: expected `{' before ‘::’ token
    
    src/channellisthandler.cpp:174: error: ‘::Exception’ has not been declared
    
    src/channellisthandler.cpp:174: error: ‘e’ was not declared in this scope
    
    src/channellisthandler.cpp:174: error: expected `;' before ‘)’ token
    
    src/channellisthandler.cpp:179: error: ‘pNumberElem’ was not declared in
    this scope
    
    src/channellisthandler.cpp:180: error: ‘pNameElem’ was not declared in this
    scope
    
    
    
    What version of the product are you using? On what operating system?
    
    TinyXML++ v2.5.3 on Ubuntu Linux Hardy v8.04
    
    
    Please provide any additional information below.
    
    This problem seems to be baffling me. I have ticpp.h in /usr/include and it
    definitely has the "namespace ticpp {}" definition in it. I'm not quite
    sure why g++ won't recognize the ticpp namespace.
    
    

    Original issue reported on code.google.com by [email protected] on 16 May 2008 at 8:53

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 4
  • Fixes #61

    Fixes #61

    This appears to fix the memory leak caused by calling GetDocument() on a Document or having a Document returned by a call to Parent() on a Node, as explained in #61.

    I don't know whether it has other, undesired effects.

    opened by davidhesselbom 1
  • Next node function

    Next node function

    ticpp has the NextSibling family of functions for getting the next node at the same level of the XML tree, as well as Parent and FirstChild for navigating up and down the XML tree. It also has iterators that will iterate over all siblings at a given level, but, as far as I can tell, not all nodes of the tree.

    I need to be able to find the next node in the XML tree, be it a sibling, parent, or child, so I came up with this:

    ticpp::Node* NextNode(ticpp::Node* node)
    {
        ticpp::Node* result;
        if ((result = node->FirstChild(false)) || (result = node->NextSibling(false)))
            return result;
        else
        {
            // Keep going back up in the tree until we find an orphan (the root of the tree).
            // or an ancestor that has a sibling --- a (great-)*(grand)?uncle, if you will.
            while ((node = node->Parent(false)) && !(result = node->NextSibling(false)))
            { }
            return result; // may be "parent of root", i.e. nullptr
        }
    }
    

    The function can then be called repeatedly using the return value from the previous call as the argument:

        while (node && someCondition)
            node = node.NextNode(node);
    

    Aside from the fact that the NextNode function can cause a memory leak when node->Parent() returns the root of the tree (as described in #61), it seems strange to me that a similar function apparently does not exist in ticpp already. Is there any other, better way to go about getting the next node?

    opened by davidhesselbom 0
  • ticpp::Node::GetValue not working as expected

    ticpp::Node::GetValue not working as expected

    What steps will reproduce the problem?
    1. int myval;
    2. ticpp::Element::GetValue(&myval); // assume object
    
    What is the expected output? What do you see instead?
    Expected: The value (text) gets passed to myval.
    What happens: An exception is thrown (cannot convert value).
    
    What version of the product are you using? On what operating system?
    r126, compiled with mingw 4.8 (comes with QT), Windows 7 64bit.
    
    Please provide any additional information below.
    GetValue gets the name of the Element/node instead of the value.
    This works as expected with attributes though.
    

    Original issue reported on code.google.com by [email protected] on 9 Sep 2013 at 11:15

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 0
  • Unable to run the example in the wiki.

    Unable to run the example in the wiki.

    What steps will reproduce the problem?
    
    i have created a new project and added ticpp.h and practicing the example in 
    the wiki.
    
    #include <iostream>
    #include <conio.h>
    #include "ticpp.h" 
    
    // simple function to parse a xml file 
    void Parse(const char* pcFilename); 
    using namespace std;
    
    int main()
    {
    cout << "Hello world!\n" << endl;
    
            // whatch out for exceptions         
            try         
            {                 
                // parse the xml file with the name fruits.xml                 
                Parse("demotest.xml");         
            }         
            catch(ticpp::Exception& ex)         
            {                 
                std::cout << ex.what();       
            }          
    
            return -1; 
    
    }
    
    void Parse(const char* pcFilename)
    {
        // first load the xml file         
        ticpp::Document doc(pcFilename);         
        doc.LoadFile();          
        // parse through all fruit elements        
        ticpp::Iterator<ticpp::Element> child;         
        for(child = child.begin(doc.FirstChildElement()); child != child.end(); child++)         
        {                
            // The value of this child identifies the name of this element                 
                std::string strName;                 
                std::string strValue;                 
                child->GetValue(&strName);                 
                std::cout << "fruit: " << strName << std::endl;                 
                std::cout << "-------------" << std::endl;                  
            // now parse through all the attributes of this fruit                
                ticpp::Iterator< ticpp::Attribute > attribute;                 
        for(attribute = attribute.begin(child.Get()); attribute != attribute.end(); attribute++) 
        {                            
            attribute->GetName(&strName);                         
            attribute->GetValue(&strValue);                         
            std::cout << strName << ": " << strValue << std::endl;                 
        }                 
            std::cout << std::endl;         
        } 
    
    }
    
    
    
    
    What is the expected output? What do you see instead?
    I am able to compile the file easily and this is the error messages that I am 
    getting.
    
    ----
    1>------ Build started: Project: tinytest, Configuration: Debug Win32 ------
    1>Linking...
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: class 
    ticpp::Element * __thiscall ticpp::Node::FirstChildElement(bool)const " 
    ([email protected]@ticpp@@[email protected]@[email protected]) referenced in function 
    "void __cdecl Parse(char const *)" (?Parse@@[email protected])
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: void 
    __thiscall ticpp::Document::LoadFile(enum TiXmlEncoding)" 
    ([email protected]@ticpp@@QAEXW4TiXmlEncoding@@@Z) referenced in function 
    "void __cdecl Parse(char const *)" (?Parse@@[email protected])
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: __thiscall 
    ticpp::Document::Document(char const *)" ([email protected]@@[email protected]@Z) 
    referenced in function "void __cdecl Parse(char const *)" (?Parse@@[email protected])
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: void 
    __thiscall TiCppRCImp::DecRef(void)" ([email protected]@@QAEXXZ) referenced in 
    function "public: virtual __thiscall ticpp::NodeImp<class 
    TiXmlDocument>::~NodeImp<class TiXmlDocument>(void)" 
    ([email protected]@@@ticpp@@[email protected])
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: __thiscall 
    ticpp::Exception::Exception(class std::basic_string<char,struct 
    std::char_traits<char>,class std::allocator<char> > const &)" 
    ([email protected]@@[email protected][email protected][email protected]@std@@[email protected]
    @2@@std@@@Z) referenced in function "public: virtual void __thiscall 
    ticpp::Node::IterateFirst(class std::basic_string<char,struct 
    std::char_traits<char>,class std::allocator<char> > const &,class 
    ticpp::Attribute * *)const " 
    ([email protected]@ticpp@@[email protected][email protected]@std@@V?$alloc
    [email protected]@2@@std@@[email protected]@@Z)
    1>Tinyprase.obj : error LNK2001: unresolved external symbol "public: virtual 
    __thiscall ticpp::Exception::~Exception(void)" ([email protected]@@[email protected])
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: class 
    TiXmlDocument const * __thiscall TiXmlNode::GetDocument(void)const " 
    ([email protected]@@QBEPBVTiXmlDocument@@XZ) referenced in function 
    "public: class TiXmlDocument * __thiscall TiXmlNode::GetDocument(void)" 
    ([email protected]@@QAEPAVTiXmlDocument@@XZ)
    1>Tinyprase.obj : error LNK2001: unresolved external symbol "public: virtual 
    char const * __thiscall ticpp::Exception::what(void)const " 
    ([email protected]@ticpp@@UBEPBDXZ)
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: bool 
    __thiscall TiCppRCImp::IsNull(void)" ([email protected]@@QAE_NXZ) referenced 
    in function "protected: void __thiscall ticpp::Base::ValidatePointer(void)const 
    " ([email protected]@ticpp@@IBEXXZ)
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: void 
    __thiscall TiCppRCImp::IncRef(void)" ([email protected]@@QAEXXZ) referenced in 
    function "protected: virtual void __thiscall ticpp::NodeImp<class 
    TiXmlDocument>::operator=(class ticpp::NodeImp<class TiXmlDocument> const &)" 
    ([email protected]@@@ticpp@@MAEXABV01@@Z)
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: void 
    __thiscall ticpp::Attribute::IterateNext(class std::basic_string<char,struct 
    std::char_traits<char>,class std::allocator<char> > const &,class 
    ticpp::Attribute * *)const " 
    ([email protected]@ticpp@@[email protected][email protected]@std@@V?$a
    llocat[email protected]@2@@std@@PAPAV12@@Z) referenced in function "public: class 
    ticpp::Iterator<class ticpp::Attribute> & __thiscall ticpp::Iterator<class 
    ticpp::Attribute>::operator++(void)" 
    ([email protected]@ticpp@@@ticpp@@[email protected])
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: class 
    ticpp::Node * __thiscall ticpp::Node::NextSibling(class 
    std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> 
    > const &,bool)const " 
    ([email protected]@ticpp@@[email protected][email protected][email protected]@std@@V?$a
    llo[email protected]@2@@std@@[email protected]) referenced in function "public: void __thiscall 
    ticpp::Node::IterateFirst<class ticpp::Element>(class 
    std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> 
    > const &,class ticpp::Element * *)const " 
    ([email protected]@ticpp@@@[email protected]@@[email protected]?$char_tra
    [email protected]@std@@[email protected]@2@@std@@[email protected]@@Z)
    1>Tinyprase.obj : error LNK2019: unresolved external symbol "public: class 
    ticpp::Node * __thiscall ticpp::Node::FirstChild(class 
    std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> 
    > const &,bool)const " 
    ([email protected]@ticpp@@[email protected][email protected][email protected]@std@@V?$al
    [email protected]@2@@std@@[email protected]) referenced in function "public: void __thiscall 
    ticpp::Node::IterateFirst<class ticpp::Element>(class 
    std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> 
    > const &,class ticpp::Element * *)const " 
    ([email protected]@ticpp@@@[email protected]@@[email protected]?$char_tra
    [email protected]@std@@[email protected]@2@@std@@[email protected]@@Z)
    1>E:\docs\tinyxml\tinytest\Debug\tinytest.exe : fatal error LNK1120: 13 
    unresolved externals
    1>Build log was saved at "file://e:\docs\tinyxml\tinytest\Debug\BuildLog.htm"
    1>tinytest - 14 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    
    -----------
    
    What version of the product are you using? On what operating system?
    I am on VS 2008 and windows xp
    
    Please provide any additional information below.
    
    
    

    Original issue reported on code.google.com by [email protected] on 26 Aug 2012 at 8:59

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 0
  • Parsing an XML file using ticpp (tinyxml++) using streaming operators

    Parsing an XML file using ticpp (tinyxml++) using streaming operators

    I'd like to utilize the streaming operator to parse an XML file with ticpp 
    (tinyxml ++ ). I've not been able to find any examples on this. The ticpp 
    documentation says only a little bit about streaming support.
    
    I'd like to initialize streaming in with the following:
    
    ifstream in;
    in.open( m_sConfigFile, std::ios::in );
    
    if( in.good() )
        in >> *this;
    I'm not sure how to write the stream in function:
    
    std::istream & operator >> ( std::istream & in, EffectMgr & r )
    {   
        return in;
    }
    My XML file looks like this:
    
    <? xml version="1.0" ?>
    
    <EffectsMgr>
        <Effect name="textured-phong" >
            <Shader name="textured-phong.vert" type="Vertex" />
            <Shader name="textured-phong.frag" type="Fragment" />
            <VertexClass name="CustomVertex" />
            <Attribute name="VertexPosition" size="3" offset="0" />
            <Attribute name="VertexNormal" size="3" offset="3" />
            <Attribute name="VertexTexCoord" size="3" offset="6" />
        </Effect>
    </EffectsMgr>
    Are there any examples out there I should check out?
    
    

    Original issue reported on code.google.com by [email protected] on 19 Feb 2012 at 12:36

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 1
  • linking on vs2010 fails

    linking on vs2010 fails

    What steps will reproduce the problem?
    
    1. svn checkout http://ticpp.googlecode.com/svn/trunk/ ticpp ( checked out 
    revision 124 )
    2. cd ticpp && premake4 vs2008
    3. Open and build in vs2010, converting project to vs2010 format when prompted
    
    Use the following test program or similar:
    #pragma comment(lib, "ticppd.lib")
    #include <ticpp.h>
    
    void TinyXmlAllThat();
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        TinyXmlAllThat();
        std::cin.get();
    
        return 0;
    }
    
    void TinyXmlAllThat()
    {
        try
        {
            ticpp::Document doc( "c:\\tiny.xml" );
            doc.LoadFile();
    
            ticpp::Element* pElem = doc.FirstChildElement();
        }
        catch( const ticpp::Exception & ex )
        {
            std::cout << ex.what();
        }
    }
    
    What is the expected output? What do you see instead?
    Expect link stage to succeed.  Instead, I get the linker errors pasted at the 
    end of this message
    
    
    What version of the product are you using? On what operating system?
    OS platform is Windows 7 x64, VS2010, ticpp revision 124.
    
    
    1>------ Build started: Project: ScratchMe, Configuration: Debug Win32 ------
    1>  stdafx.cpp
    1>  ScratchMe.cpp
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: int __thiscall 
    std::basic_istream<char,struct std::char_traits<char> >::get(void)" 
    (?get@[email protected][email protected]@std@@@std@@QAEHXZ) already defined in 
    ticppd.lib(tinyxmlparser.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class 
    std::basic_ostream<char,struct std::char_traits<char> > & __thiscall 
    std::basic_ostream<char,struct std::char_traits<char> >::operator<<(int)" 
    ([email protected][email protected]@std@@@std@@[email protected]@Z) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: virtual __thiscall 
    std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct 
    std::char_traits<char> >(void)" 
    ([email protected][email protected]@std@@@std@@[email protected]) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: virtual __thiscall 
    std::basic_ostream<char,struct std::char_traits<char> 
    >::~basic_ostream<char,struct std::char_traits<char> >(void)" 
    ([email protected][email protected]@std@@@std@@[email protected]) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall 
    std::basic_ostream<char,struct std::char_traits<char> 
    >::basic_ostream<char,struct std::char_traits<char> >(class 
    std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" 
    ([email protected][email protected]@std@@@std@@[email protected][email protected]?$ch
    [email protected]@std@@@1@[email protected]) already defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: __thiscall 
    std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct 
    std::char_traits<char> >(void)" 
    ([email protected][email protected]@std@@@std@@[email protected]) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: virtual __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> 
    >::~basic_streambuf<char,struct std::char_traits<char> >(void)" 
    ([email protected][email protected]@std@@@std@@[email protected]) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: char * __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const " 
    (?gptr@[email protected][email protected]@std@@@std@@IBEPADXZ) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: void __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char 
    *,char *)" (?setg@[email protected][email protected]@std@@@std@@IA[email protected]) 
    already defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: void __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)" 
    (?setp@[email protected][email protected]@std@@@std@@[email protected]) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: char * __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const " 
    (?eback@[email protected][email protected]@std@@@std@@IBEPADXZ) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: char * __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" 
    (?_Pninc@[email protected][email protected]@std@@@std@@IAEPADXZ) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: void __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char 
    *,char *)" (?setp@[email protected][email protected]@std@@@std@@[email protected]) 
    already defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: char * __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const " 
    (?pbase@[email protected][email protected]@std@@@std@@IBEPADXZ) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: char * __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const " 
    (?epptr@[email protected][email protected]@std@@@std@@IBEPADXZ) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: char * __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const " 
    (?pptr@[email protected][email protected]@std@@@std@@IBEPADXZ) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: void __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)" 
    (?gbump@[email protected][email protected]@std@@@std@@[email protected]) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: char * __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const " 
    (?egptr@[email protected][email protected]@std@@@std@@IBEPADXZ) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: void __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int)" 
    (?pbump@[email protected][email protected]@std@@@std@@[email protected]) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall 
    std::_Container_base12::~_Container_base12(void)" 
    (??1_Containe[email protected]@@[email protected]) already defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall 
    std::_Container_base12::_Container_base12(void)" 
    ([email protected]@@[email protected]) already defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall 
    std::_Container_base12::_Orphan_all(void)" 
    (?_Orphan_all@[email protected]@@QAEXXZ) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "protected: __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> 
    >::basic_streambuf<char,struct std::char_traits<char> >(void)" 
    ([email protected][email protected]@std@@@std@@[email protected]) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall 
    std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" 
    (?setstate@[email protected]?$char_tra[email protected]@std@@@std@@[email protected]) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __int64 __thiscall 
    std::ios_base::width(__int64)" ([email protected][email protected]@@[email protected]) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __int64 __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const 
    *,__int64)" 
    (?sputn@[email protected][email protected]@std@@@std@@[email protected]) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: int __thiscall 
    std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" 
    (?sputc@[email protected][email protected]@std@@@std@@[email protected]) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class 
    std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall 
    std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " 
    (?rdbuf@[email protected][email protected]@std@@@std@@[email protected]?$cha
    [email protected]@std@@@[email protected]) already defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: char __thiscall 
    std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " 
    (?fill@[email protected][email protected]@std@@@std@@QBEDXZ) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: int __thiscall 
    std::ios_base::flags(void)const " ([email protected][email protected]@@QBEHXZ) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __int64 __thiscall 
    std::ios_base::width(void)const " ([email protected][email protected]@@QBE_JXZ) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class 
    std::basic_ostream<char,struct std::char_traits<char> > & __thiscall 
    std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" 
    (?flush@[email protected][email protected]@std@@@std@@[email protected]) already 
    defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class 
    std::basic_ostream<char,struct std::char_traits<char> > * __thiscall 
    std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " 
    (?tie@[email protected][email protected]@std@@@std@@[email protected]?$char_tr
    [email protected]@std@@@[email protected]) already defined in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: bool __thiscall 
    std::ios_base::good(void)const " ([email protected][email protected]@@QBE_NXZ) already defined 
    in ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall 
    std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" 
    (?_Osfx@[email protected][email protected]@std@@@std@@QAEXXZ) already defined in 
    ticppd.lib(ticpp.obj)
    1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class 
    std::locale::facet * __thiscall std::locale::facet::_Decref(void)" 
    ([email protected]@[email protected]@@[email protected]) already defined in 
    ticppd.lib(ticpp.obj)
    1>libcpmtd.lib(ios.obj) : error LNK2005: "private: static void __cdecl 
    std::ios_base::_Ios_base_dtor(class std::ios_base *)" 
    ([email protected][email protected]@@CAXPAV12@@Z) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>libcpmtd.lib(ios.obj) : error LNK2005: "public: static void __cdecl 
    std::ios_base::_Addstd(class std::ios_base *)" 
    ([email protected][email protected]@@SAXPAV12@@Z) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static void __cdecl 
    std::locale::facet::_Facet_Register(class std::locale::facet *)" 
    ([email protected]@[email protected]@@CAXPAV123@@Z) already defined in 
    msvcprtd.lib(locale0_implib.obj)
    1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class 
    std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" 
    ([email protected]@std@@[email protected]@XZ) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class 
    std::locale::_Locimp * __cdecl std::locale::_Init(void)" 
    ([email protected]@std@@[email protected]@XZ) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl 
    std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" 
    (?_Locinfo_ctor@[email protected]@@[email protected]@Z) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl 
    std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" 
    (?_Locinfo_dtor@[email protected]@@SAXPAV12@@Z) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall 
    std::_Lockit::_Lockit(int)" ([email protected]@@[email protected]@Z) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __thiscall 
    std::_Lockit::~_Lockit(void)" ([email protected]@@[email protected]) already defined in 
    msvcprtd.lib(MSVCP100D.dll)
    1>LIBCMTD.lib(setlocal.obj) : error LNK2005: __configthreadlocale already 
    defined in MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __free_dbg already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetDbgFlag already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtDumpMemoryLeaks already 
    defined in MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(dbgheap.obj) : error LNK2005: __CrtSetCheckCount already defined 
    in MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(lconv.obj) : error LNK2005: _localeconv already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(dbghook.obj) : error LNK2005: __crt_debugger_hook already defined 
    in MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined 
    in MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(mlock.obj) : error LNK2005: __lock already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(mlock.obj) : error LNK2005: __unlock already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __cexit already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(atox.obj) : error LNK2005: _atoi already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(sprintf.obj) : error LNK2005: _sprintf_s already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(errmode.obj) : error LNK2005: ___set_app_type already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in 
    MSVCRTD.lib(cinitexe.obj)
    1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in 
    MSVCRTD.lib(cinitexe.obj)
    1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in 
    MSVCRTD.lib(cinitexe.obj)
    1>LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in 
    MSVCRTD.lib(cinitexe.obj)
    1>LIBCMTD.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" 
    (?terminate@@YAXXZ) already defined in MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(tolower.obj) : error LNK2005: _tolower already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(dbgrptw.obj) : error LNK2005: __CrtDbgReportW already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LIBCMTD.lib(vsnprnc.obj) : error LNK2005: __vsnprintf_s already defined in 
    MSVCRTD.lib(MSVCR100D.dll)
    1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other 
    libs; use /NODEFAULTLIB:library
    1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other 
    libs; use /NODEFAULTLIB:library
    1>LIBCMTD.lib(crt0.obj) : error LNK2019: unresolved external symbol _main 
    referenced in function ___tmainCRTStartup
    1>C:\Work\ScratchMe\Debug\ScratchMe.exe : fatal error LNK1120: 1 unresolved 
    externals
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    
    
    
    

    Original issue reported on code.google.com by [email protected] on 6 Feb 2012 at 3:26

    Type-Defect Priority-Medium auto-migrated 
    opened by GoogleCodeExporter 2
My version of psxfunkin with new changes like new story mode, new options,etc

PSXFunkin Friday Night Funkin' on the PSX LOL Compilation Refer to COMPILE.md here Characters Igor Ver added new characters Like XmasGF,Monster and mu

IgorSou3000 4 Jun 8, 2022
Simulate Linux Completely Fair Scheduler (CFS) using POSIX Threads

Linux CFS Simulator Simulate Linux Completely Fair Scheduler (CFS) using POSIX Threads. Build and Run $ make $ ./cfs-sim Note: The process status tabl

null 19 May 4, 2022
OpenSpeaker is a completely independent and open source speaker recognition project.

OpenSpeaker is a completely independent and open source speaker recognition project. It provides the entire process of speaker recognition including multi-platform deployment and model optimization.

ZY 34 Nov 20, 2022
"the French term for a watch movement that is not completely assembled yet."

Chablon "the French term for a watch movement that is not completely assembled yet." Today it's a program to draw rectangles on the display of a PineT

Daniel Barlow 3 Jan 3, 2022
A completely free, open-source, 2D game engine built on proven torque technology.

Torque2D 4.0 Early Access 1 MIT Licensed Open Source version of Torque2D from GarageGames. Maintained by the Torque Game Engines team and contribution

Torque Game Engines 692 Jan 9, 2023
Brand new engine with new and QoL features. Grafex is Psych engine with some additions and Better graphics

Friday Night Funkin' - Graphex Engine Credits: Grafex Mod aka Psych Graphic Rework: Xale - Lead Coding, Artist PurpleSnake - Second Coder Psych Engine

Xale 2 Jan 7, 2023
Legion Low Level Rendering Interface provides a graphics API agnostic rendering interface with minimal CPU overhead and low level access to verbose GPU operations.

Legion-LLRI Legion-LLRI, or “Legion Low Level Rendering Interface” is a rendering API that aims to provide a graphics API agnostic approach to graphic

Rythe Interactive 25 Dec 6, 2022
New generation entropy codecs : Finite State Entropy and Huff0

New Generation Entropy coders This library proposes two high speed entropy coders : Huff0, a Huffman codec designed for modern CPU, featuring OoO (Out

Yann Collet 1.1k Dec 29, 2022
STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write.

memory The C++ STL allocator model has various flaws. For example, they are fixed to a certain type, because they are almost necessarily required to b

Jonathan Müller 1.2k Dec 26, 2022
:fish_cake: A new take on polymorphism in C++

DynaMix (Dynamic Mixins) is a new take on polymorphism. It lets the user compose and modify polymorphic objects at run time in C++. The library is a m

Borislav Stanimirov 555 Dec 29, 2022
New generation entropy codecs : Finite State Entropy and Huff0

New Generation Entropy coders This library proposes two high speed entropy coders : Huff0, a Huffman codec designed for modern CPU, featuring OoO (Out

Yann Collet 1.1k Dec 26, 2022
:lock: Don't use this repo, use the new monorepo instead:

trezor-crypto Heavily optimized cryptography algorithms for embedded devices. These include: AES/Rijndael encryption/decryption Big Number (256 bit) A

TREZOR 490 Dec 25, 2022
Rubicon - a New Custom Encryption Algorithm/Tool

Rubicon - a New Custom Encryption Algorithm/Tool Disclaimer DO NOT use this project for purposes other than legitimate red teaming/pentesting jobs

null 27 Dec 13, 2022
Simple Directmedia Layer, 1.2 branch ... ***DEPRECATED***, please use https://github.com/libsdl-org/SDL for new projects!

DEPRECATED The 1.2 branch of SDL is deprecated. While we occasionally collect fixes in revision control, there has not been a formal release since 201

Simple Directmedia Layer 55 Jan 2, 2023
A new city of code on a cosmopolitan foundation.

Neopolitan C “A new city of code on a cosmopolitan foundation.” <https://aquefir.co/neopolitan> <https://github.com/aquefir/neopolitan> Created by A

Aquefir 19 Jul 28, 2022
DOSBox Pure is a new fork of DOSBox built for RetroArch/Libretro aiming for simplicity and ease of use.

DOSBox Pure is a fork of DOSBox, an emulator for DOS games, built for RetroArch/Libretro aiming for simplicity and ease of use.

Bernhard Schelling 565 Dec 27, 2022
The new Windows Terminal and the original Windows console host, all in the same place!

The new Windows Terminal and the original Windows console host, all in the same place!

Microsoft 86.8k Dec 29, 2022
Monster Mash: New Sketch-Based Modeling and Animation Tool

Monster Mash is a new sketch-based modeling and animation tool that allows you to quickly sketch a character, inflate it into 3D, and promptly animate it. You can perform all interactions in the sketching plane. No 3D manipulation is required.

Google 1.2k Dec 31, 2022
Servo library with stm developed by the Liek Software Team. We are working on new versions.

Liek-Servo-Library Liek Servo Library is a library that makes it easy for you to drive servo motors with STM32F10x series cards. The library is still

null 14 Nov 4, 2022