Author Topic: New Win98 build (rev 1843)  (Read 21397 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
New Win98 build (rev 1843)
« on: January 23, 2006, 09:49:02 pm »
I have provided 2 links for CB in this post. I could use some help on determining once and for all, where the 2 extra import libraries (libshfolder.a and libshell32.a) should go.
a) target : src
b) target : sdk

The first one :
http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI.7z
This one has the libraries added to a) and b). This one also includes all contrib plug-ins. Just unpack it in some directory. And also unpack the wx ansi dll, which can be found here :
http://download.berlios.de/codeblocks/wxmsw26_gcc_cb.7z
Start up your new CB.

Does it work : yes/no ? (please provide feedback)

The second one :
http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_2.7z
This one has the libraries added only to a). [Note : no build with just added to b), since a previous ansi build was build that way, and that one worked well].
You can simply unpack the second one on top of the first one, and let it overwrite all files (total of 6 files).

Start up this new CB.
Does it work : yes/no ? (please provide feedback)


kind regards,
Lieven

PS : if they should be needed at sdk level, one question remains : is the libshell32.a needed (probably not), but that's a test with tomorrows build. ;-)

Offline duncanka

  • Multiple posting newcomer
  • *
  • Posts: 53
Re: New Win98 build (rev 1843)
« Reply #1 on: January 24, 2006, 02:52:11 am »
I have provided 2 links for CB in this post. I could use some help on determining once and for all, where the 2 extra import libraries (libshfolder.a and libshell32.a) should go.
a) target : src
b) target : sdk

<snip>

PS : if they should be needed at sdk level, one question remains : is the libshell32.a needed (probably not), but that's a test with tomorrows build. ;-)
I'll test these two builds in a minute, but after building CB myself a few times, I can say fairly confidently that I've found that shfolder only needs to be added to the sdk target only.  See http://forums.codeblocks.org/index.php?topic=1901.msg16466#msg16466.

Offline duncanka

  • Multiple posting newcomer
  • *
  • Posts: 53
Re: New Win98 build (rev 1843)
« Reply #2 on: January 24, 2006, 04:29:56 am »
The first one :
http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI.7z
This one has the libraries added to a) and b). This one also includes all contrib plug-ins. Just unpack it in some directory. And also unpack the wx ansi dll, which can be found here :
http://download.berlios.de/codeblocks/wxmsw26_gcc_cb.7z
Start up your new CB.

Does it work : yes/no ? (please provide feedback)

The second one :
http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_2.7z
This one has the libraries added only to a). [Note : no build with just added to b), since a previous ansi build was build that way, and that one worked well].
You can simply unpack the second one on top of the first one, and let it overwrite all files (total of 6 files).

Start up this new CB.
Does it work : yes/no ? (please provide feedback)
OK, now I've gotten to test both builds on my Win98SE machine.  The second one generates the error messages shown in the first picture below.  The first build, however, works fine.

Just a note on how this version appears in Win98:  When the Editor settings dialog first appears, it has some sizer issues.  The right edge of the dialog is slightly cut off, as shown in the 2nd screenshot below.  It's fixed when the dialog is resized.  I can't say whether this is a general issue, a Win98-specific issue, or a 1024x768-resolution-specific issue.

[attachment deleted by admin]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: New Win98 build (rev 1843)
« Reply #3 on: January 24, 2006, 09:08:20 am »
Okay, we are learning something here.

First conclusion : adding the 2 libs to the src target is of NO USE, the resulting CB does not work.
Although several people have hinted that only libshfolder is needed, so no libshell32. What surprises me is that the screenshot (see above) shows it's missing something from shell32.dll (SHGetFolderPath).

To get the fact proven officialy, this evening I will create 2 new ansi test builds (will be listed in a reply in this topic thread) :
c) sdk target : libshfolder  (no shell32)
d) sdk target : libshell32 (no shfolder)

We all kind of know already the outcome, but then at least we have a documented test with results.
« Last Edit: January 24, 2006, 09:36:14 am by killerbot »

Offline mandrav

  • Project Leader
  • Administrator
  • Lives here!
  • *****
  • Posts: 4315
    • Code::Blocks IDE
Re: New Win98 build (rev 1843)
« Reply #4 on: January 24, 2006, 09:23:45 am »
Quote
c) src target : libshfolder  (no shell32)
d) src target : libshell32 (no shfolder)

You might want to make that 'sdk' target. I thought we settled that that's where it's needed :)
Be patient!
This bug will be fixed soon...

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: New Win98 build (rev 1843)
« Reply #5 on: January 24, 2006, 09:37:40 am »
Thanks Yiannis, stupid typo.
Well it was not settled yet, you have added them last week or so to the src target, not yet the sdk target, since you had the feeling they were needed at the src and not the sdk.
That's why , ;-) , and then we will know once and for all, if that libshell32 is also needed or not.


Revy

  • Guest
Re: New Win98 build (rev 1843)
« Reply #6 on: January 24, 2006, 04:18:04 pm »
Hi,

Testresults: same as duncanka + layout issues that go away when you reset the layout to its default.

...
First conclusion : adding the 2 libs to the src target is of NO USE, the resulting CB does not work.
Although several people have hinted that only libshfolder is needed, so no libshell32. What surprises me is that the screenshot (see above) shows it's missing something from shell32.dll (SHGetFolderPath).
...

it's not as suprising as it seems.  :)
Quote from: The Evil Empire
This function is a superset of SHGetSpecialFolderPath, included with earlier versions of the Shell. On systems preceeding those including Shell32.dll version 5.0 (Windows Millennium Edition (Windows Me) and Windows 2000), SHGetFolderPath was obtained through SHFolder.dll, distributed with Microsoft Internet Explorer 4.0 and later versions. SHFolder.dll always calls the current platform's version of this function. If that fails, it will try to simulate the appropriate behavior. SHFolder.dll continues to be included for backward compatibility, though the function is now implemented in Shell32.dll.

Note  On older systems that require the redistributable SHFolder.dll, you must explicitly link to SHFolder.lib before you link to Shell32.lib.
Only some CSIDLs are supported, including the following:
shfolder basically is an emulation for the old W98/Me etc - it tries to emulate SHGetFolderPath on these platforms. SHGetFolderPath comes from shell32 normally, thats why it says its missing from shell32.

Heres the msdn link with more info:
MSDN

If I remember correctly this problem was already solved but the devs ignored the linkage issue.  :roll:
Thank you really much for your efforts with W98 killerbot and the C::B devs for this wonderful piece of software!

PS:
C::B looks gorgeous!   :)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: New Win98 build (rev 1843) (2 new test builds)
« Reply #7 on: January 24, 2006, 08:18:01 pm »
as promised, the last part of the test, 2 more builds (no contribs, overwrite the previous builds, as explained above)
c) sdk (only libshfolder) : http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_3.7z
d) sdk (only libshell32) : http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_4.7z

Please provide me with your test results ;-)

Lieven

Revy

  • Guest
Re: New Win98 build (rev 1843) (2 new test builds)
« Reply #8 on: January 24, 2006, 08:59:36 pm »
as promised, the last part of the test, 2 more builds (no contribs, overwrite the previous builds, as explained above)
c) sdk (only libshfolder) : http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_3.7z
d) sdk (only libshell32) : http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_4.7z

Please provide me with your test results ;-)

Lieven

c)
works

d)
missing export to SHFetFolderPath in codeblocks.dll


I choose c :)

Offline duncanka

  • Multiple posting newcomer
  • *
  • Posts: 53
Re: New Win98 build (rev 1843) (2 new test builds)
« Reply #9 on: January 24, 2006, 09:03:59 pm »
as promised, the last part of the test, 2 more builds (no contribs, overwrite the previous builds, as explained above)
c) sdk (only libshfolder) : http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_3.7z
d) sdk (only libshell32) : http://download.berlios.de/codeblocks/CB_23jan2006_rev1843_win32_ANSI_4.7z

Please provide me with your test results ;-)

Lieven
c) Runs beautifully.
d) Same error messages as before.

Testresults: same as duncanka + layout issues that go away when you reset the layout to its default.
I also had these problems initially.  Probably just new docking frame info or the like.

Thank you really much for your efforts with W98 killerbot and the C::B devs for this wonderful piece of software!

PS:
C::B looks gorgeous!   :)
Amen!  Thank you so much!

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: New Win98 build (rev 1843)
« Reply #10 on: January 24, 2006, 09:11:45 pm »
so it seems we have a conclusion :

For win98, ansi build, compatibility we need to add as import library to the SDK target : libshfolder.a

Nothing more, nothing less.


@Yiannis : could you adjust the codeblocks.cbp file accordingly ??

Many thanks to all who have helped in testing, providing information, ...
Lieven

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: New Win98 build (rev 2968)
« Reply #11 on: September 11, 2006, 08:33:21 am »
so it seems we have a conclusion :

For win98, ansi build, compatibility we need to add as import library to the SDK target : libshfolder.a

Nothing more, nothing less.


@Yiannis : could you adjust the codeblocks.cbp file accordingly ??

Many thanks to all who have helped in testing, providing information, ...
Lieven

are there any updates to this info in order to build a recent svn version as ansi build?

in the recent projectfile all the libshfolder.a are included, but i nevertheless get the
missing SHELL32.DLL:SHGetFolderPathA Export when running the Ansi-build on W98.

can any of the ansi-builders please let me know what i've to change else in order to build an ansi CB ?
thx, tiwag
« Last Edit: September 11, 2006, 08:39:30 am by tiwag »

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: New Win98 build (rev 1843)
« Reply #12 on: September 11, 2006, 12:37:01 pm »
I haven't done an ansi for a long time now, maybe new dependencies are in order now ?

Offline tiwag

  • Developer
  • Lives here!
  • *****
  • Posts: 1196
  • sailing away ...
    • tiwag.cb
Re: New Win98 build (rev 2969)
« Reply #13 on: September 11, 2006, 12:56:45 pm »
thx killerbot
but i solved the issue already and committed the solution to svn rev 2969 & 2970

the target "src" (CodeBlocks.exe)
was set to link to libshell32.a , which is fine for Win-XP but not for W98

the windoze problem is, that the SHGetFolderPath is exported from different dll's in different windozes
on XP it's exported from shell32.dll and from shfolder.dll
while in W98 it's only exported from shfolder.dll

so if we link always to libshfolder.a as first in the linker libs list, SHGetFolderPath will linked to shfolder.dll

in fact, for the "src" target, we don't even need libshell32.a in the libs list, so i've removed it for now.

but when we once need it again, to be compliant to Win98 ansi builds, it is necessary to
put libshell32.a to the end of the libs list (at least behind libshfolder.a)
« Last Edit: September 11, 2006, 01:03:56 pm by tiwag »