pouët.net

crinkler error

category: general [glöplog]
 
Hi all,

I am recieving an error ": error: LNK: Cannot find symbol '___ImageBase'" during compression of 4kb intro"

C:\crinkler>crinkler.exe /OUT:test.exe /SUBSYSTEM:WINDOWS main.obj msv
crt.lib kernel32.lib user32.lib gdi32.lib opengl32.lib glu32.lib winmm.lib
Crinkler 1.1a (Jan 14 2009) (c) 2005-2009 Aske Simon Christensen & Rune Stubbe

Target: test.exe
Subsystem type: WINDOWS
Compression mode: FAST
Hash size: 100 MB
Hash tries: 20
Order tries: 0
Report: NONE
Transforms: NONE
Replace DLLs: NONE
Range DLLs: NONE

loading:
main.obj msvcrt.lib kernel32.lib user32.lib
gdi32.lib opengl32.lib glu32.lib winmm.lib


: error: LNK: Cannot find symbol '___ImageBase'

Does anyone have any idea?

Thank you for help!
Hi littlejerome!

The reference to ImageBase comes from the msvcrt startup code, which is linked in because it contains the entry point for the executable (WinMainCRTStartup). You usually do not need this code to be included into your executable, and it is not desirable either, as it takes up around half a kilobyte of space.

You can avoid the inclusion of the startup code by calling your main function WinMainCRTStartup rather than WinMain, or by specifying your own entry point function using the /ENTRY option. See the section about Standard Runtime Libraries in the Crinkler manual for more information.

I have added to our TODO list that we should add a helpful hint to the error message when ___ImageBase is not found.

In this case I happened to come across your thread, but generally, the chance of getting a response from Mentor or myself is higher if you write in the Crinkler prod thread, which we read fairly regularly.
added on the 2009-08-22 19:00:42 by Blueberry Blueberry
Hi Blueberry!

Thank you for help! It worked, intro has been compressed.

Regards

login