Hello I am trying to use msxml and I am getting a linker (VS 2012) error and can't figure out why.
My class file has the following header declaration:
#include <MsXml6.h>
class Foo
{
....
private:
static IXMLDOMDocument* document;
};
I then reference the document with the following (which gives the link error):
CoCreateInstance(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (void**)&document);
I have the project setup to link against msxml6.lib. The logs are as follows:
Searching C:\Program Files (x86)\Windows Kits\8.0\lib\win8\um\x64\msxml6.lib:
1> Found IID_IXMLDOMDocument
1> Referenced in Foo.obj
1> Loaded msxml6.lib(msxml6_i.obj)
...
1>Foo.obj : error LNK2001: unresolved external symbol "private: static struct IXMLDOMDocument * Foo::document" (?document@Foo@@0PEAUIXMLDOMDocument@@EA)
1>Some.exe : fatal error LNK1120: 1 unresolved externals
Is there something important I am missing? Let me know if you need more info.
Thanks!
I found the problem, I forgot to declare the document variable in the source file.