Opened 16 years ago

Last modified 16 years ago

#37 assigned defect

Static configurations link aginst wrong .lib

Reported by: rudi Owned by: dmik
Priority: normal Milestone:
Component: kernel Version:
Severity: normal Keywords:
Cc:

Description

When Qt is configured as static library, the file that gets created is named "myqt.lib". However, makefiles generated from *.pro will search for "qt.lib".

Changing lines 143 and 144 in mkspecs\os2-g++\qmake.conf

from:

QMAKE_LIBS_QT = qt registry.dll socket QMAKE_LIBS_QT_THREAD = qt registry.dll socket

to:

QMAKE_LIBS_QT = $$QMAKE_QT_DLL_TARGET registry.dll socket QMAKE_LIBS_QT_THREAD = $$QMAKE_QT_DLL_TARGET registry.dll socket

appears to fix this.

Attachments (1)

qmake.conf (5.9 KB) - added by rudi 16 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 16 years ago by rudi

I have made another change to qmake.conf:

Besides the static lib name, this version creates applications that don't require the 32bit IP stack. Ideally, this should be a configurable option, but for now it's just a quick fix. I tested it with some of the networking examples and it worked. It would be good, if someone could try it on a more comprehensive network application.

Changed 16 years ago by rudi

Attachment: qmake.conf added

comment:2 Changed 16 years ago by dmik

Status: newassigned

rudi,

Thank you for spotting this! However, there is a more proper fix, see r183 (and please check if it works for you).

WRT 16bit IP stack, it's quite a rare requirement, isn't it? Therefore, people who need that are always able to add TCPV40HDRS to the "Enter custom defines" prompt of the configure.cmd script. What about -L"$(PATH_EMXPGCC)\lib\tcpipv4", it should be apparently done by the generated qt.cmd (as well as all any other environment setup), not by qmake.conf.

comment:3 Changed 16 years ago by dmik

Component: 3rdpartykernel

comment:4 Changed 16 years ago by rudi

Hi dmik,

there is a more proper fix, see r183

Will try that out later today...

WRT 16bit IP stack, it's quite a rare requirement, isn't it?

At least for me it's not that rare. I have five or six installations here around (including the machine I use to rebuild Qt) that are at W4/FP15. Every time I encounter one these new programs (which sometimes doesn't even do network stuff at all !) but won't run due to this, I say "shit" and delete it. Fortunately, I have not yet found one that I *REALLY* needed...

Therefore, people who need that are always able to ...

Well, many people that are just porting stuff are not aware of these details. So usually they don't even know, that they are (in most cases unnecessarily) restricting the use of their program to MCP or eCS. How to set this up is certainly another story, but I would rather like to see an explicit configuration option which defaults to the old interface. AFAIK, the only drawback of this approach is the number of sockets a program can create. But I guess there are very few applications that hit this limit.

comment:5 Changed 16 years ago by rudi

Hi dmik,

there is a more proper fix, see r183

Will try that out later today...


That works fine.

Note: See TracTickets for help on using tickets.