www.digitalmars.com         C & C++   DMDScript  

c++.dos.32-bits - Cannot EXEPACK DOSX output

reply Mathias <Mathias_member pathlink.com> writes:
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
Jun 01 2005
parent reply "Walter" <newshound digitalmars.com> writes:
"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.
Jun 02 2005
parent reply Mathias <Mathias_member pathlink.com> writes:
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
Jun 02 2005
parent reply "tjulian" <tjulian removethis.oldi.com> writes:
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
Jun 03 2005
parent reply Mathias <Mathias_member pathlink.com> writes:
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
Jun 03 2005
parent reply "Walter" <newshound digitalmars.com> writes:
"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.
Jun 06 2005
parent Mathias <Mathias_member pathlink.com> writes:
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
Jun 06 2005