[xsd-users] Visual Studio Express 2008 integration and makefile
project
Russ Loucks
rjl at third-monday.com
Wed Jan 5 13:04:32 EST 2011
Well, unfortunately, I had to abandon my Cygwin-based project on Windows
and was kindly told to use Visual Studio for a development platform.
Managers.....
Granted, I'm more of a *nix n Java developer so I'm not so up-to-speed
on Visual Studio C++-based projects...
Anyway, I have a simple VSE 2008 makefile-based project which uses the
Qt development toolkit. I started with the basic Address Book example
in the Qt tutorials and just added a single XSD file and tried to link
it in.
Specifically:
1) took hello.xsd from the examples/tree directory and ran 'xsd' on it:
$ c:/Programs/xsd-3.3.0/bin/xsd.exe cxx-tree --hxx-suffix .h
--cxx-suffix .cpp hello.xsd
2) In VS ran my build on the project. The build output follows:
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100
-w34189 -DUNICODE \
-DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB
-DQT_CORE_LIB \
-DQT_THREAD_SUPPORT -I"c:\Programs\Qt\4.7.0\include\QtCore" \
-I"c:\Programs\Qt\4.7.0\include\QtGui"
-I"c:\Programs\Qt\4.7.0\include" -I"." \
-I"c:\programs\xsd-3.3.0\libxsd"
-I"c:\Programs\xerces-c-3.1.1\include" \
-I"c:\Programs\Qt\4.7.0\include\ActiveQt" -I"debug" \
-I"c:\Programs\Qt\4.7.0\mkspecs\default" -Fodebug\ \
@C:\Users\RUSSLO~1\AppData\Local\Temp\nm4694.tmp
hello.cpp
addressbook.cpp
main.cpp
link /LIBPATH:"c:\Programs\Qt\4.7.0\lib" /NOLOGO /DEBUG /MANIFEST \
/MANIFESTFILE:"debug\addressBook.intermediate. manifest"
/SUBSYSTEM:WINDOWS \
"/MANIFESTDEPENDENCY:type='win32'
name='Microsoft.Windows.Common-Controls' \
version='6.0.0.0 ' publicKeyToken='6595b64144ccf1df' language='*'\
processorArchitecture='*'" /OUT:debug\addressBook.exe \
debug\hello.obj debug\addressbook.obj debug\main.obj
debug\moc_addressbook.obj \
c:\Programs\Qt\4.7.0\lib\qtmaind.lib \
/LIBPATH:C:\Progra ms\xerces-c-3.1.1\lib
C:\Programs\xerces-c-3.1.1\lib\xerces-c_3.lib \
c:\Programs\Qt\4.7.0\lib\QtGuid4.lib c:\Programs\Qt\
4.7.0\lib\QtCored4.lib \
hello.obj : error LNK2001: unresolved external symbol "public:
virtual unsigned short const * __thiscall xercesc_3_1::In
putSource::getEncoding(void)const "
(?getEncoding at InputSource@xercesc_3_1@@UBEPBGXZ)
hello.obj : error LNK2001: unresolved external symbol "public:
virtual unsigned short const * __thiscall xercesc_3_1::In
putSource::getPublicId(void)const "
(?getPublicId at InputSource@xercesc_3_1@@UBEPBGXZ)
. . . . .
hello.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) public: static unsigned short const * const
xercesc_3_1::XMLUni::fgDOMErrorHandler"
(__imp_?fgDOMErrorHandler at XMLUni@xercesc_3_1@@2QBGB)
hello.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) public: static unsigned short const * const
xercesc_3_1::XMLUni::fgXercesLoadSchema"
(__imp_?fgXercesLoadSchema at XMLUni@xercesc_3_1@@2QBGB)
. . . . .
Hmmm. The xerces-c_3.lib file is on the link path. In total I get 23
undefined symbols. If I comment out the use of the xerces-c_3.lib file,
I get 39 undefined symbols....
I also tried adding the xerces-c_3_1_1.dll file found in the
xerces-3.1.1\bin directory, but that didn't change anything.
Stumped again......
Ideas?
More information about the xsd-users
mailing list