RE: Latest FTK compilation with VS.NET

Date : Sat, 1 Jul 2006 10:12:36 -0700
To : <3DGames(at)Softimage.COM>
From : "Wessam Bahnassi" <wbahnassi(at)inframez.com>
Subject : RE: Latest FTK compilation with VS.NET
The files were compiled with wchar_t not being native at the beginning. I
tried again now with it also being defined as native (just in case). It
didn't make any difference...

If you try to compile for using the FTK as a DLL, you?ll get the errors in
the attached compile.txt file (both in FTK3.6.3 and FTK5.11).

All these errors disappear on 5.11 with the XSI_STATIC_LINK and
XSICORE_STATIC #defines...
However, the FTK 3.6.3 also suffers from this compilation error:

1>c:\softimage\xsiftk_3.6.3\export\h\ftk\fxnodeconnection.h(35) : error
C2248: 'CSLScene::XSIFXOperatorCallback' : cannot access protected member
declared in class 'CSLScene'
1>        c:\softimage\xsiftk_3.6.3\export\h\ftk\scene.h(641) : see
declaration of 'CSLScene::XSIFXOperatorCallback'
1>        c:\softimage\xsiftk_3.6.3\export\h\ftk\scene.h(210) : see
declaration of 'CSLScene'


So, going on with static linking to the FTK, I?ve defined the relevant
flags, and the compilation goes ok, but the linker will give the errors in
the attached linker.txt file.

All these errors show up whether wchar_t is native or not. I hope I?m doing
something terribly wrong otherwise it would be a shame :|


Wessam Bahnassi
Microsoft DirectX MVP,
Programmer
Electronic Arts
--
In|Structurez Arabic Gamedev Community
www.instructurez.com

> -----Original Message-----
> From: owner-3dgames(at)Softimage.COM [mailto:owner-3dgames(at)Softimage.COM] On
> Behalf Of Hans,Veenendaal,AMplus R&D,SOJ
> Sent: Saturday, July 01, 2006 1:31 AM
> To: 3DGames(at)Softimage.COM
> Subject: RE: Latest FTK compilation with VS.NET
> 
> Hello Wessam,
> 
> Did you set your project to NOT recognize wchar_t as a native type?
> (/Zc:wchar_t-)
> 
> Hans.
> 
> -----Original Message-----
> From: owner-3dgames(at)Softimage.COM [mailto:owner-3dgames(at)Softimage.COM]
> On Behalf Of Wessam Bahnassi
> Sent: Saturday, July 01, 2006 5:57 PM
> To: 3dgames(at)Softimage.COM
> Subject: Latest FTK compilation with VS.NET
> 
> It seems like FTK versions 3.5.3 and up all suffer some serious
> compilation
> errors under VS.NET (2003 or 2005).
> For the FTK version in XSI 5.11, I was never able to successfully link
> against the XSIFtk_static.lib. I always get linker errors about
> undefined
> external symbols.
> For the dynamic link version, the first thing that faces you is a bunch
> of
> compilation errors because the FTK is trying to dllimport a template
> class.
> A hack is to modify the classes' declarations to omit the usage of
> XSIEXPORT
> in all FTK's template classes. This compiles successfully (but with
> warnings
> though). However, I've noticed now that the FTK's DLL (in XSI 5.11)
> depends
> on a new DLL (besides XSIFtk.dll) which is (xerces-c_2_1_0.dll).
> 
> Can someone explain what are the required compiler/linker settings for
> safe
> and correct builds under the Win32 platform?
> 
> Thanks,
> Wessam Bahnassi
> Microsoft DirectX MVP,
> Programmer
> Electronic Arts Montreal
> --
> In|Structurez Arabic Gamedev Community
> www.instructurez.com
1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(299) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::CSLArrayProxy' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(306) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::CSLArrayProxy' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(311) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::~CSLArrayProxy' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(342) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::Connect' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(375) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::Reserve' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(384) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::Resize' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(393) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::Extend' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(425) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::InsertAt' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(451) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::DeleteAt' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(518) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::Pack' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(534) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::DisposeData' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(566) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::Copy' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(598) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::Copy' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(608) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::operator =' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(618) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::operator =' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_array.h(715) : error C2491: 'CSLArrayProxy<CElemType,CSubElemType,StructSize>::ExpandArray' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(178) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::CSLEnumProxy' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(184) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::Connect' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(195) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::operator =' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(205) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::operator =' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(214) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::operator ==' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(223) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::operator ==' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(229) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::operator EnumType' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(237) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::IsValid' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(245) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::Type' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(253) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::GetFloatValue' : definition of dllimport function not allowed

1>c:\softimage\xsi_5.11\xsisdk\include\ftk\sl_enum.h(265) : error C2491: 'CSLEnumProxy<EnumType,MaxValue>::SetFloatValue' : definition of dllimport function not allowed
3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::externalEntityDecl(unsigned short const * const,unsigned short const * const,unsigned short const * const)" (?externalEntityDecl(at)DefaultHandler(at)(at)UAEXQBG00(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::internalEntityDecl(unsigned short const * const,unsigned short const * const)" (?internalEntityDecl(at)DefaultHandler(at)(at)UAEXQBG0(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::attributeDecl(unsigned short const * const,unsigned short const * const,unsigned short const * const,unsigned short const * const,unsigned short const * const)" (?attributeDecl(at)DefaultHandler(at)(at)UAEXQBG0000(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::elementDecl(unsigned short const * const,unsigned short const * const)" (?elementDecl(at)DefaultHandler(at)(at)UAEXQBG0(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::startEntity(unsigned short const * const)" (?startEntity(at)DefaultHandler(at)(at)UAEXQBG(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::startDTD(unsigned short const * const,unsigned short const * const,unsigned short const * const)" (?startDTD(at)DefaultHandler(at)(at)UAEXQBG00(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::startCDATA(void)" (?startCDATA(at)DefaultHandler(at)(at)UAEXXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::endEntity(unsigned short const * const)" (?endEntity(at)DefaultHandler(at)(at)UAEXQBG(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::endDTD(void)" (?endDTD(at)DefaultHandler(at)(at)UAEXXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::endCDATA(void)" (?endCDATA(at)DefaultHandler(at)(at)UAEXXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::comment(unsigned short const * const,unsigned int)" (?comment(at)DefaultHandler(at)(at)UAEXQBGI(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::resetErrors(void)" (?resetErrors(at)DefaultHandler(at)(at)UAEXXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::skippedEntity(unsigned short const * const)" (?skippedEntity(at)DefaultHandler(at)(at)UAEXQBG(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::endPrefixMapping(unsigned short const * const)" (?endPrefixMapping(at)DefaultHandler(at)(at)UAEXQBG(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::startPrefixMapping(unsigned short const * const,unsigned short const * const)" (?startPrefixMapping(at)DefaultHandler(at)(at)UAEXQBG0(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::setDocumentLocator(class Locator const * const)" (?setDocumentLocator(at)DefaultHandler(at)(at)UAEXQBVLocator(at)(at)(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::resetDocType(void)" (?resetDocType(at)DefaultHandler(at)(at)UAEXXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::unparsedEntityDecl(unsigned short const * const,unsigned short const * const,unsigned short const * const,unsigned short const * const)" (?unparsedEntityDecl(at)DefaultHandler(at)(at)UAEXQBG000(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::notationDecl(unsigned short const * const,unsigned short const * const,unsigned short const * const)" (?notationDecl(at)DefaultHandler(at)(at)UAEXQBG00(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall DefaultHandler::resetDocument(void)" (?resetDocument(at)DefaultHandler(at)(at)UAEXXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2001: unresolved external symbol "public: virtual class InputSource * __thiscall DefaultHandler::resolveEntity(unsigned short const * const,unsigned short const * const)" (?resolveEntity(at)DefaultHandler(at)(at)UAEPAVInputSource(at)(at)QBG0(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall DefaultHandler::DefaultHandler(void)" (__imp_??0DefaultHandler(at)(at)QAE(at)XZ) referenced in function "public: __thiscall CXERCESParser::CXERCESParser(class CXSIParser *)" (??0CXERCESParser(at)(at)QAE(at)PAVCXSIParser(at)(at)(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall DefaultHandler::~DefaultHandler(void)" (__imp_??1DefaultHandler(at)(at)UAE(at)XZ) referenced in function "public: virtual __thiscall CXERCESParser::~CXERCESParser(void)" (??1CXERCESParser(at)(at)UAE(at)XZ)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static char * __cdecl XMLString::transcode(unsigned short const * const)" (__imp_?transcode(at)XMLString(at)(at)SAPADQBG(at)Z) referenced in function "public: __thiscall CXMLCharConv::CXMLCharConv(unsigned short const *)" (??0CXMLCharConv(at)(at)QAE(at)PBG(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall SAXParseException::~SAXParseException(void)" (__imp_??1SAXParseException(at)(at)UAE(at)XZ) referenced in function "public: void __thiscall CXSIParser::error(void const *)" (?error(at)CXSIParser(at)(at)QAEXPBX(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: long __thiscall SAXParseException::getLineNumber(void)const " (__imp_?getLineNumber(at)SAXParseException(at)(at)QBEJXZ) referenced in function "public: void __thiscall CXSIParser::error(void const *)" (?error(at)CXSIParser(at)(at)QAEXPBX(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: long __thiscall SAXParseException::getColumnNumber(void)const " (__imp_?getColumnNumber(at)SAXParseException(at)(at)QBEJXZ) referenced in function "public: void __thiscall CXSIParser::error(void const *)" (?error(at)CXSIParser(at)(at)QAEXPBX(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned short const * __thiscall SAXParseException::getSystemId(void)const " (__imp_?getSystemId(at)SAXParseException(at)(at)QBEPBGXZ) referenced in function "public: void __thiscall CXSIParser::error(void const *)" (?error(at)CXSIParser(at)(at)QAEXPBX(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall SAXParseException::SAXParseException(class SAXParseException const &)" (__imp_??0SAXParseException(at)(at)QAE(at)ABV0(at)(at)Z) referenced in function "public: void __thiscall CXSIParser::error(void const *)" (?error(at)CXSIParser(at)(at)QAEXPBX(at)Z)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall LocalFileInputSource::~LocalFileInputSource(void)" (__imp_??1LocalFileInputSource(at)(at)UAE(at)XZ) referenced in function "private: int __thiscall CXSIParser::ReadCOLLADA(void)" (?ReadCOLLADA(at)CXSIParser(at)(at)AAEHXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl XMLPlatformUtils::Terminate(void)" (__imp_?Terminate(at)XMLPlatformUtils(at)(at)SAXXZ) referenced in function "private: int __thiscall CXSIParser::ReadCOLLADA(void)" (?ReadCOLLADA(at)CXSIParser(at)(at)AAEHXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall LocalFileInputSource::LocalFileInputSource(unsigned short const * const)" (__imp_??0LocalFileInputSource(at)(at)QAE(at)QBG(at)Z) referenced in function "private: int __thiscall CXSIParser::ReadCOLLADA(void)" (?ReadCOLLADA(at)CXSIParser(at)(at)AAEHXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static unsigned short * __cdecl XMLString::transcode(char const * const)" (__imp_?transcode(at)XMLString(at)(at)SAPAGQBD(at)Z) referenced in function "private: int __thiscall CXSIParser::ReadCOLLADA(void)" (?ReadCOLLADA(at)CXSIParser(at)(at)AAEHXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class SAX2XMLReader * __cdecl XMLReaderFactory::createXMLReader(void)" (__imp_?createXMLReader(at)XMLReaderFactory(at)(at)SAPAVSAX2XMLReader(at)(at)XZ) referenced in function "private: int __thiscall CXSIParser::ReadCOLLADA(void)" (?ReadCOLLADA(at)CXSIParser(at)(at)AAEHXZ)

3>Exchange.lib(XSIParser.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl XMLPlatformUtils::Initialize(void)" (__imp_?Initialize(at)XMLPlatformUtils(at)(at)SAXXZ) referenced in function "private: int __thiscall CXSIParser::ReadCOLLADA(void)" (?ReadCOLLADA(at)CXSIParser(at)(at)AAEHXZ)

3>Exchange.lib(BINFilter.obj) : error LNK2019: unresolved external symbol _uncompress referenced in function "private: void __thiscall CBINFilter::ReadBlock(void)" (?ReadBlock(at)CBINFilter(at)(at)AAEXXZ)

3>Exchange.lib(BINFilter.obj) : error LNK2019: unresolved external symbol _compress2 referenced in function "public: virtual int __thiscall CBINFilter::Write(char *,int)" (?Write(at)CBINFilter(at)(at)UAEHPADH(at)Z)

3>Debug/Exchange.exe : fatal error LNK1120: 37 unresolved externals

Search the 3D Games List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.