Opened 17 years ago
Last modified 17 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)
Change History (6)
comment:1 by , 17 years ago
by , 17 years ago
Attachment: | qmake.conf added |
---|
comment:2 by , 17 years ago
Status: | new → assigned |
---|
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 by , 17 years ago
Component: | 3rdparty → kernel |
---|
comment:4 by , 17 years ago
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.
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.