That's what i did.
I tried with both the source- and SDK distribution.
Same issue.
That's what i did.
I tried with both the source- and SDK distribution.
Same issue.
Ok, I'm confused. Is there a reason you want to reconfigure/rebuild the library when they have already been made for you?
Well, isn't this what the official deployment guide for Windows (http://doc.qt.nokia.com/4.6/install-win.html) suggests to do?
If you want to configure the suite differently for deployment (ie, you want to disable some stuff perhaps) then yes, thats correct. But from your first post you just want the standard version, which has already been done for you.
Ok, so i tried using the pre-built libs.
I can compile an example (calculator), but i get linker errors.
I have added the Qt/4.6.0/lib diretcory to the VS2008 Linker lib path, but that doesn't seem to be sufficient.
Any clues?
Normally you would let the Qt plugin for VS do all the work for you, but since you are using an express edition, you can't do that. So you need to figure out your project dependancies and add them to your project linker section. These will be things like QtCore, QtGUI, and so on.
You can probably use QMake to generate an appropriate project file for you - create the .PRO file either yourself or using QtCreator and then change the platform configuration.
Ok, i now have added all Qt lib files to the project and this reduced the number of unresolved symbols.
There are still these though:
1>button.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Button::metaObject(void)const " (?metaObject@Button@@UBEPBUQMetaObject@@XZ)
1>button.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall Button::qt_metacast(char const *)" (?qt_metacast@Button@@UAEPAXPBD@Z)
1>button.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall Button::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Button@@UAEHW4Call@QMetaObject@@HPAP AX@Z)
1>calculator.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Calculator::metaObject(void)const " (?metaObject@Calculator@@UBEPBUQMetaObject@@XZ)
1>calculator.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall Calculator::qt_metacast(char const *)" (?qt_metacast@Calculator@@UAEPAXPBD@Z)
1>calculator.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall Calculator::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Calculator@@UAEHW4Call@QMetaObject@@ HPAPAX@Z)
1>calculator.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const Calculator::staticMetaObject" (?staticMetaObject@Calculator@@2UQMetaObject@@B)
1>calculator.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const Button::staticMetaObject" (?staticMetaObject@Button@@2UQMetaObject@@B)
1>D:\Dev\calculator\Debug\calculator.exe : fatal error LNK1120: 8 unresolved externals
Any ideas?
Yes, you need to run MOC on the appropriate header files and include the resulting output in your project. The plugin typically associates MOC with the header files for you so it's run whenever the header files are updated. You'll have to do this manually since you don't have the plugin.
Bookmarks