Thread overview
Cannot EXEPACK DOSX output
Jun 01, 2005
Mathias
Jun 02, 2005
Walter
Jun 02, 2005
Mathias
Jun 03, 2005
tjulian
Jun 03, 2005
Mathias
Jun 06, 2005
Walter
Jun 06, 2005
Mathias
June 01, 2005
Hello, the IDDE version of DigitalMars (8.43) yields an error when I try to
compile a simple program.
The problem can be reproduced as follows:
New project (let's call it "foo" and let's save it in a folder called
"foo"), Set project type: Release, DOSX, Executable - Finish.
New File: save as FOO.C - "Add to project"

#include <stdio.h>

int main(void)
{
printf("Hello\n");
}

Rebuild All:

sc foo.c -mx -o+time -3 -a4 -c -ofoo.obj
link /DE /E /PACKF /XN @foo.LNK
Error: C:\DM\BIN\..\lib\cx.obj (104792388): Cannot EXEPACK DOSX output
Lines Processed: 149  Errors: 1  Warnings: 0
Build failed

Thanks for any hint,
Mathias


June 02, 2005
"Mathias" <Mathias_member@pathlink.com> wrote in message news:d7kmv2$21mp$1@digitaldaemon.com...
> sc foo.c -mx -o+time -3 -a4 -c -ofoo.obj
> link /DE /E /PACKF /XN @foo.LNK
> Error: C:\DM\BIN\..\lib\cx.obj (104792388): Cannot EXEPACK DOSX output
> Lines Processed: 149  Errors: 1  Warnings: 0
> Build failed

The linker isn't designed to pack DOSX programs. Try removing the /PACKF switch.


June 02, 2005
In article <d7nfqm$1u81$1@digitaldaemon.com>, Walter says...

>"Mathias" <Mathias_member@pathlink.com> wrote in message news:d7kmv2$21mp$1@digitaldaemon.com...
>> sc foo.c -mx -o+time -3 -a4 -c -ofoo.obj
>> link /DE /E /PACKF /XN @foo.LNK
>> Error: C:\DM\BIN\..\lib\cx.obj (104792388): Cannot EXEPACK DOSX output
>> Lines Processed: 149  Errors: 1  Warnings: 0
>> Build failed
>
>The linker isn't designed to pack DOSX programs. Try removing the /PACKF switch.

Now I get:

sc foo.c -mx -o+time -3 -a4 -c -ofoo.obj
link /DE /NOPACKF /XN @foo.LNK
Error: C:\DM\BIN\..\lib\cx.obj(cx)  (21233664): Symbol Undefined __x386_start
Error: C:\DM\BIN\..\lib\cx.obj(cx)  (10863996): Symbol Undefined
__x386_data_16_alias
Error: C:\DM\BIN\..\lib\cx.obj(cx)  (10864000): Symbol Undefined __x386_dbg_hook
Error: C:\DM\BIN\..\lib\cx.obj(cx)  (10863996): Symbol Undefined
__x32_link_in_x32_lib
Lines Processed: 149  Errors: 4  Warnings: 0
Build failed

Any idea?
Mathias


June 03, 2005
Mathias wrote:

> > The linker isn't designed to pack DOSX programs. Try removing the /PACKF switch.
> 
> Now I get:
> 
> sc foo.c -mx -o+time -3 -a4 -c -ofoo.obj
> link /DE /NOPACKF /XN @foo.LNK
> Error: C:\DM\BIN\..\lib\cx.obj(cx)  (21233664): Symbol Undefined
> __x386_start Error: C:\DM\BIN\..\lib\cx.obj(cx)  (10863996): Symbol
> Undefined __x386_data_16_alias
> Error: C:\DM\BIN\..\lib\cx.obj(cx)  (10864000): Symbol Undefined
> __x386_dbg_hook Error: C:\DM\BIN\..\lib\cx.obj(cx)  (10863996):
> Symbol Undefined __x32_link_in_x32_lib
> Lines Processed: 149  Errors: 4  Warnings: 0
> Build failed

Have you added x32.lib to the link/build?

--
TimJ
June 03, 2005
In article <d7pi3f$gfc$1@digitaldaemon.com>, tjulian says...

>Have you added x32.lib to the link/build?

Why would this be necessary? The file x32.lib is located in C:\DM\LIB, and since DigitalMars knows this path (I know that because it works fine for Win32) it would be pointless to add it. However, if you think it might be worth trying it anyway, how could I do that using the IDDE or via command line?

Thanks,
Mathias


June 06, 2005
"Mathias" <Mathias_member@pathlink.com> wrote in message news:d7q2hk$u79$1@digitaldaemon.com...
> In article <d7pi3f$gfc$1@digitaldaemon.com>, tjulian says...
>
> >Have you added x32.lib to the link/build?
>
> Why would this be necessary? The file x32.lib is located in C:\DM\LIB, and since DigitalMars knows this path (I know that because it works fine for Win32) it would be pointless to add it. However, if you think it might be worth trying it anyway, how could I do that using the IDDE or via command line?

add:
    x32.lib
to the command line.


June 06, 2005
In article <d80vk4$2t98$1@digitaldaemon.com>, Walter says...

>add:
>    x32.lib
>to the command line.

Yes, I can compile with

SC MY_PROG.C -mx X32.LIB

(as in the x32 manual)
However, I think it is confusing that the IDDE seems to support x32, since
it doesn't. IMHO, it would be better to clean up the IDDE support for x32,
or to drop it completely.

Thanks anyway,
Mathias