Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 6

Qt-interest Archive, March 2002
AW: Simple Link problems in VC++, Qt3.0.2


Message 1 in thread

-----Ursprüngliche Nachricht-----
Von: Khaled Z [mailto:kh_zakarya@hotmail.com]
Gesendet: Mittwoch, 13. März 2002 19:41
An: qt-interest@trolltech.com
Betreff: Simple Link problems in VC++, Qt3.0.2


Hi;
I hope you are experts with these link stuff:

When I tried to build my project using Qt libraries, I got many of warnings 
similar to:

LINK : warning LNK4049: locally defined symbol ""class QApplication *  qApp"

(?qApp@@3PAVQApplication@@A)" imported

and the following specific errors:

qtmtd.lib(qprinter_win.obj) : error LNK2001: unresolved external symbol 
_ClosePrinter@4
qtmtd.lib(qprinter_win.obj) : error LNK2001: unresolved external symbol 
_GetPrinterW@20
qtmtd.lib(qprinter_win.obj) : error LNK2001: unresolved external symbol 
_OpenPrinterW@12

What should I do?

Thanks


----Original Message Follows----
From: Bauer Thomas <Thomas.Bauer@fh-joanneum.at>
Reply-To: Thomas.Bauer@fh-joanneum.at
To: "'plc@rowley.co.uk'" <plc@rowley.co.uk>,    John Dean 
<john@theKompany.com>, ibarrett@grintek.com,    qt-interest@trolltech.com
Subject: AW: Alternatives to VC++ IDE?
Date: Wed, 13 Mar 2002 16:02:16 +0100

 > Why would you think that VC 6 is broken?  Can you provide an example?

have you ever tried this:

template<typename T1>
class A
{
	template<typename T2> //constructor
	A( T2 arg )
	{
		... some code ...
	}

	A( const A<T1>& rhs ) //copy constructor
	{
		... some code ...
	}
}

it doesn't even work this way:

template<typename T1>
class A
{
	template<typename T2> //constructor
	A( T2 arg )
	{
		... some code ...
	}

	template<T3>
	A( const A<T3>& rhs ) //copy constructor
	{
		... some code ...
	}
}

//////////////////////////////////////

When trying the first version MS VC++6 didn't recognize the copy constructor
although the standard says that when using constructor templates they must
never be taken for copy constructors by the compiler... and using the second
version a lot of funny things can happen starting with fatal errors during
compile time up to a case where after constructing an object the following
line of code wasn't compiled and when I tried to work around this bug
putting two semicolons after the code line which constructed the object the
app crashed with some memory error when exiting.

I circumvented the problem by not declaring a constructor template but a
separate init member function template because I needed the copy constructor
more desperately than initialization during construction due to the need to
use the class within stl containers.

Tom

-----Ursprüngliche Nachricht-----
Von: Paul Curtis [mailto:plc@rowley.co.uk]
Gesendet: Mittwoch, 13. März 2002 13:54
An: John Dean; ibarrett@grintek.com; qt-interest@trolltech.com
Betreff: RE: Alternatives to VC++ IDE?


John Dean wrote:

 > >The VC++ pros (can't really speak for .NET in general) is that:
 > >
 > >(a) it's rock solid.
 > >(b) it has a few bugs, but service packs generally fix them up.
 > >(c) lots of 3rd party plug-ins and support (even Trolltech provides a
 > >plug-in)
 > >(d) It works.  I start it in the morning and don't come out until I
 > >leave for home.  It runs all day.
 > >
 > >The cons:
 > >
 > >(a) The configuration/project system could be better.
 > >(b) It could have a more capable compiler, but it'll come.  No C++
 > >compiler is perfect.
 > >(c) Editor could be more powerful.
 > >(d) Help system could be better.
 >
 > You forgot to mention that the compiler and linker are both broken

The compiler and linker in VC 6 are not particularly broken in my
experience.  VC6 compiles Qt, our ECMAScript compiler, our smart card
loader, our project system, our help system, our crypto, our C compiler,
our linker & optimizer, and everything else we've thrown into this
single application.  The application is now quite large at about 8MB,
and has a huge amount of code.  There are no real problems to speak of.
We've stumbled across one optimizer bug when compiling our own RSA/DSS
code.

Why would you think that VC 6 is broken?  Can you provide an example?

I have no experience of VS.NET *release* (as I said), so cannot comment
on the perceived problems with VS.NET, but there are other on the
mailing list that seem to be researching the issue and making progress.

-- Paul.

--
 [ signature omitted ]