Hi,
In porting to Qt4 I'm finally linking but run into unresolved externals:
link /LIBPATH:"C:\Qt\4.0.1\lib" /NOLOGO /DEBUG /DEBUG /DLL /LIBPATH:../xpaf /LIBPATH:../xpaf xpaf-sdk.lib /LIBPATH:..
/xpaf-sdk/debug /LIBPATH:../../lua-5.0.2/lib ../../lua-5.0.2/lib\lualib.lib C:\Qt\4.0.1\lib\QtCored4.lib C:\Qt\4.0.1\lib\QtGu
id4.lib C:\Qt\4.0.1\lib\Qt3Supportd4.lib C:\Qt\4.0.1\lib\QtSqld4.lib C:\Qt\4.0.1\lib\QtXmld4.lib /OUT:"debug\xpaf-sdkgui.dll"
@C:\temp\nmCE6.tmp
Creating library debug\xpaf-sdkgui.lib and object debug\xpaf-sdkgui.exp
moc_ezSessionApp.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const ezCrm::ezBase::stat
icMetaObject" (?staticMetaObject@ezBase@ezCrm@@2UQMetaObject@@B)
...
...
ezModelGui.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const layerModel::ezBCModel_RTa
ble_Control::staticMetaObject" (?staticMetaObject@ezBCModel_RTable_Control@layerModel@@2UQMetaObject@@B)
debug\xpaf-sdkgui.dll : fatal error LNK1120: 59 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\Bin\nmake.exe"' : return code '0x2'
Stop.
link /LIBPATH:"C:\Qt\4.0.1\lib" /NOLOGO /DEBUG /DEBUG /DLL /LIBPATH:../xpaf /LIBPATH:../xpaf xpaf-sdk.lib /LIBPATH:..
/xpaf-sdk/debug /LIBPATH:../../lua-5.0.2/lib ../../lua-5.0.2/lib\lualib.lib C:\Qt\4.0.1\lib\QtCored4.lib C:\Qt\4.0.1\lib\QtGu
id4.lib C:\Qt\4.0.1\lib\Qt3Supportd4.lib C:\Qt\4.0.1\lib\QtSqld4.lib C:\Qt\4.0.1\lib\QtXmld4.lib /OUT:"debug\xpaf-sdkgui.dll"
@C:\temp\nmCE6.tmp
Creating library debug\xpaf-sdkgui.lib and object debug\xpaf-sdkgui.exp
moc_ezSessionApp.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const ezCrm::ezBase::stat
icMetaObject" (?staticMetaObject@ezBase@ezCrm@@2UQMetaObject@@B)
...
...
ezModelGui.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const layerModel::ezBCModel_RTa
ble_Control::staticMetaObject" (?staticMetaObject@ezBCModel_RTable_Control@layerModel@@2UQMetaObject@@B)
debug\xpaf-sdkgui.dll : fatal error LNK1120: 59 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\Bin\nmake.exe"' : return code '0x2'
Stop.
To copy to clipboard, switch view to plain text mode
I have
// Win 32 DLL export macros
#ifdef WIN32
# ifdef BUILD_DLL
# define XPAF_DLL_EXPORT __declspec(dllexport)
# else
# define XPAF_DLL_EXPORT // Empty
# endif
#endif // WIN32
// Win 32 DLL export macros
#ifdef WIN32
# ifdef BUILD_DLL
# define XPAF_DLL_EXPORT __declspec(dllexport)
# else
# define XPAF_DLL_EXPORT // Empty
# endif
#endif // WIN32
To copy to clipboard, switch view to plain text mode
and
namespace layerModel {
class XPAF_DLL_EXPORT ezBCModel_RItem: public ezBCModelBase
{
Q_OBJECT
public:
ezBCModel_RItem
(ezModelRender
*aParent,
QString aName
=0);
~ezBCModel_RItem(void);
};
...
namespace layerModel {
..
class XPAF_DLL_EXPORT ezBCModel_RTable: public ezBCModel_RItem
{
Q_OBJECT
public:
ezBCModel_RTable
(ezModelRender
*aParent,
QString aName
=0);
~ezBCModel_RTable(void);
};
namespace layerModel {
class XPAF_DLL_EXPORT ezBCModel_RItem: public ezBCModelBase
{
Q_OBJECT
public:
ezBCModel_RItem(ezModelRender *aParent, QString aName=0);
~ezBCModel_RItem(void);
};
...
namespace layerModel {
..
class XPAF_DLL_EXPORT ezBCModel_RTable: public ezBCModel_RItem
{
Q_OBJECT
public:
ezBCModel_RTable(ezModelRender *aParent, QString aName=0);
~ezBCModel_RTable(void);
};
To copy to clipboard, switch view to plain text mode
What am I missing? Namepace messing the name mangling
DLL_EXPORT 
Any pointers appreciated!!
Bookmarks