Completely new interface to TinyXML

Related tags

Miscellaneous 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
    [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
    [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@@[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)" 
    ([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][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
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
"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
: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
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
PoC: Rebuild A New Path Back to the Heaven's Gate (HITB 2021)

wowGrail Rebuild a new to Abuse the conversion layer embedded in WOW64(Windows 32 on Windows 64), that makes malware able to launch 32-bit NTAPI inter

Sheng-Hao Ma 91 Dec 11, 2022
SMARTmBOT - a new, customizable, scalable, and fully opensource mobile robot platform

The goal of this repository is to introduce a new, customizable, scalable, and fully opensource mobile robot platform, called SMARTmBOT. This repository provides a guide, and all design files and source codes so that you can build your own SMARTmBOT. SMARTmBOT can be useful for studying the basics of robotics, especially mobile robotics. It can also be used to study advanced topics such as swarm robotics.

SMART Lab at Purdue University 39 Jan 2, 2023
Audacity fork without Telemetry and with new features

Audacity fork without Telemetry and with new features

Sartox Free Software 705 Jan 3, 2023
Optimized, fast and unsafe Uniswap sniping bot for buying new listings.

Optimized, fast and unsafe Uniswap sniping bot for buying new listings. Table of content How does it work? Pregeneration Used libraries Project struct

Sebastian Szczepański 159 Dec 21, 2022
New lateral movement technique by abusing Windows Perception Simulation Service to achieve DLL hijacking code execution.

BOF - Lateral movement technique by abusing Windows Perception Simulation Service to achieve DLL hijacking ServiceMove is a POC code for an interestin

Chris Au 190 Nov 14, 2022
A new JS script plugin for flutter

js_script Run JS script. Usage // Create a JS context. JsScript script = JsScript(); // Define a class. var classInfo = ClassInfo<TestClass>( newI

null 5 Mar 8, 2022
A template for creating new MOLA modules

mola-foo Write me! Provided MOLA modules: Foo, type Foo. Build and install Refer to the root MOLA repository. Docs and examples See this package page

The MOLA SLAM framework 7 Oct 23, 2021
A new Discord client made in C++ and Qt

Fast-Discord For now it is very basic Origins of this project Coding conventions License Contact This project is really huge and requires a lot of tim

Yoen 145 Dec 31, 2022
This is new projec based in apps to chat or messages people to people

Stranger This is new projec based in apps to chat or messages people to people Esta aplicacion tendra las siguientes caracteristicas: 1* Es 100% segur

Juan Duque 3 Nov 3, 2021
New version of the well known ESP32 Radio. Now optional I2S output!

ESP32Radio-V2 New version of the well known ESP32 Radio. Now optional I2S output! Compile time configuration in config.h. Do not forget to upload the

Ed Smallenburg 56 Dec 28, 2022
New linux driver and tools for RME HDSPe sound cards and extension modules

snd-hdspe New linux kernel ALSA driver for RME HDSPe MADI / AES / RayDAT / AIO and AIO Pro sound cards and extension modules. In addition to the funct

Philippe Bekaert 25 Dec 21, 2022
Module Stomping, No New Thread, HellsGate syscaller, UUID Shellcode Runner for x64 Windows 10!

Ninja UUID Shellcode Runner Module Stomping, No New Thread, HellsGate syscaller, UUID Shellcode Runner for x64 Windows 10! Now supports running Cobalt

Bobby Cooke 362 Dec 30, 2022
A single-header, new syntax for C & C++

sea A new syntax for C & C++, in one header file sea is a new syntax for C & C++. It can be used by adding the following line of code to a .c, or .cc/

Cloud Worm 1 Nov 19, 2021
Add a new system call.

Linux kernel ============ There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML an

SamFu1113 2 Nov 19, 2022
The ESP-BOX is a new generation AIoT development platform released by Espressif Systems.

中文版本 ESP-BOX AIoT Development Framework Important Note: We recommend updating the ESP32-S3-BOX firmware when you first receive the product to have the

Espressif Systems 160 Dec 29, 2022