Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / qt / 2010-01

Qt for VC++ 2008

7 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Marcin Dębicki

I've just downloaded Qt 4.6 compiled with VC++ from qtsoftware.com and I get error: no entry point for _Z11qt_assert_xPKxS0_S0_i in QtCore4.dll. I assume that it is caused by different compiler since Qt 4.6 compiled qith gcc works perfectly.

Best regards,
Marcin D?bicki

Ge592
to Marcin Dębicki
Marcin D?bicki wrote
I get error: no entry point for _Z11qt_assert_xPKxS0_S0_i in QtCore4.dll. I assume that it is caused by different compiler since Qt 4.6 compiled qith gcc works perfectly.

Yes, name mangling is compiler and compiler version dependent. That is one reason more why the source code is also available.

Marcin Dębicki
to Ge592

Well then I have installed VC++ 2008 Express, converted mk files so they match 4.6.0 version and everything compiles just fine. However when I try to link it I get like 7500 errors like: unresolved external symbol "__declspec(dllimport) public: static struct QMetaObject const QObject::staticMetaObject" (__imp_?staticMetaObject at QObject@@2UQMetaObject@@B)

Since I am not exactly C expert can anyone tell what's wrong?

Best regards,
Marcin D?bicki

2010/1/2 Ge592 :

Show quoted text 13 lines
On Saturday 02 January 2010 20:33:35 Marcin D?bicki wrote: > I get error: no entry point for _Z11qt_assert_xPKxS0_S0_i in > QtCore4.dll. I assume that it is caused by different compiler since Qt > 4.6 compiled qith gcc works perfectly. > Yes, name mangling is compiler and compiler version dependent. That is one reason more why the source code is also available. _______________________________________________ Qt mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/qt
Ge592
to Marcin Dębicki
Marcin D?bicki wrote
unresolved external symbol "__declspec(dllimport) public: static struct QMetaObject const QObject::staticMetaObject" (__imp_?staticMetaObject at QObject@@2UQMetaObject@@B)

I do not have/use VC++, but it seems you did not set up your project to link with the Qt Libraries
and where these libraries are.

But if you can hold your breath for a while,
I will release a new version that uses qmake
for compilation. It should be easier then to compile with VC.

But it is not clear to me why you want to compile with VC, if the intent is to create pascal programs.

kind regards,

Den Jean

Marcin Dębicki
to Ge592

2010/1/3 Ge592 :

Show quoted text 8 lines
On Saturday 02 January 2010 23:14:32 Marcin D?bicki wrote: > unresolved external symbol "__declspec(dllimport) public: static > struct QMetaObject const QObject::staticMetaObject" > (__imp_?staticMetaObject at QObject@@2UQMetaObject@@B) > I do not have/use VC++, but it seems you did not set up your project to link with the Qt Libraries and where these libraries are.

I did and that's why I am surprised that it doesn't work

But if you can hold your breath for a while, I will release a new version that uses qmake for compilation. It should be easier then to compile with VC.

Yes it is. I have downloaded test version of it and right now the problem is only with linking content of qlclmessageevent_c.cpp so it's a huge improvement in comparison to what was before:-)

But it is not clear to me why you want to compile with VC, if the intent is to create pascal programs.

It's very simple. If you go to qtsoftware.com you'll see that there are 2 compilations of Qt for Windows available. One compiled with gcc and the other one with VC++ 2008. Point is that this second one is simply alot smaller like for instance size of qwebkit.dll is smaller by almost 50%. Rest of libraries are usually smaller by approximately 20-30% which means that using it in case of Windows applications may be a little bit more efficient like for example smaller setup files and so on. Also I am not sure about that but once I ran a few demos delivered with it it seems that memory requirement is a little bit smaller (I have tried both Qt compilations).

Show quoted text 10 lines
kind regards, Den Jean _______________________________________________ Qt mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/qt

Best regards,
Marcin D?bicki

Marcin Dębicki
to Marcin Dębicki

Ok, I have compiled release (bindings 2.0), recompiled LCL to work with it and now application doesn't start with error: application hasn't been initialised properly.

2010/1/3 Marcin D?bicki :

Show quoted text 44 lines
2010/1/3 Ge592 : > On Saturday 02 January 2010 23:14:32 Marcin D?bicki wrote: >> unresolved external symbol "__declspec(dllimport) public: static >> struct QMetaObject const QObject::staticMetaObject" >> (__imp_?staticMetaObject at QObject@@2UQMetaObject@@B) >> > I do not have/use VC++, but it seems you did not set > up your project to link with the Qt Libraries > and where these libraries are. I did and that's why I am surprised that it doesn't work > > But if you can hold your breath for a while, > I will release a new version that uses qmake > for compilation. It should be easier then to compile with VC. Yes it is. I have downloaded test version of it and right now the problem is only with linking content of qlclmessageevent_c.cpp so it's a huge improvement in comparison to what was before:-) > > But it is not clear to me why you want to compile with VC, > if the intent is to create pascal programs. It's very simple. If you go to qtsoftware.com you'll see that there are 2 compilations of Qt for Windows available. One compiled with gcc and the other one with VC++ 2008. Point is that this second one is simply alot smaller like for instance size of qwebkit.dll is smaller by almost 50%. Rest of libraries are usually smaller by approximately 20-30% which means that using it in case of Windows applications may be a little bit more efficient like for example smaller setup files and so on. Also I am not sure about that but once I ran a few demos delivered with it it seems that memory requirement is a little bit smaller (I have tried both Qt compilations). > > kind regards, > > Den Jean > > _______________________________________________ > Qt mailing list > > http://lists.lazarus.freepascal.org/mailman/listinfo/qt > Best regards, Marcin D?bicki
Marcin D?bicki http://ksplayer.com - KSP Sound Player home
Den Jean
to Marcin Dębicki
Marcin D?bicki wrote
with it and now application doesn't start with error: application hasn't been initialised properly.

I downloaded VC, Qt for VC and have the same result for the fpc qt4 demo programs.

Using depends
http://qt.nokia.com/doc/4.6/deployment-windows.html#additional-libraries I discover that some libraries are missing (ieshims,wer,ncrypt,bcrypt)(not found on Microsoft support,but on third party sites, dangerous ofcourse), But even with these libraries in place, the exe will not start. Googling about these dlls, I see that many have similar problems with Windows XP and Internet Explorer 8 breaking VC applications.

As you can see on the Nokia url, VC also brings in dependencies, that are even different for each VC version. So having a MinGW dependancy is not that bad after all, VC applications also do not run on windows w/o installing extra dlls.

regards,

Den Jean