Board index » cppbuilder » library problem with command line compile

library problem with command line compile


2004-12-03 06:18:07 AM
cppbuilder93
Hello,
I am using version 4.52 of the compiler to create 16 bit DOS
applications. I have a library which I created using the IDE, compiled
large. I also have a number of applications which all link to this
library. When these applications are built under the IDE ( and compiled
large), all works fine. However, I need to use the command line
compiler. If I create a makefile automamtically from the IDE, then run
make -fproject.mak (project.mak was generated from the IDE), the linker
generates FIXUP OVERFLOW messages on symbols from my library created
with the IDE. Anyone have any idea how to get around this?
THanks!
Jack
 
 

Re:library problem with command line compile

JackRosenbloom wrote:
Quote
Hello,

I am using version 4.52 of the compiler to create 16 bit DOS
applications. I have a library which I created using the IDE, compiled
large. I also have a number of applications which all link to this
library. When these applications are built under the IDE ( and compiled
large), all works fine. However, I need to use the command line
compiler. If I create a makefile automamtically from the IDE, then run
make -fproject.mak (project.mak was generated from the IDE), the linker
generates FIXUP OVERFLOW messages on symbols from my library created
with the IDE. Anyone have any idea how to get around this?
The linker generate FIXUP OVERFLOW because the memory model is
different. Check project.mak and verify that current memory model is the
same of your library.
Bye
antonio
 

Re:library problem with command line compile

Hi,
Thanks for responding. I'm quite sure that all memory models are large.
Also, the make file was automatically generated from the IDE.
Compile/link from the IDE works. Make from the automatically generated
makefile doesn't.
I also ran make with the -K make option to see the compile and link
options left behind in the response files.
TYPICAL COMPILE RESPONSE FILE
-Od -N -ff- -R -ml -f -Ff=2000 -IC:\BC45\INCLUDE; -obc_obj\l_opi.obj
l_opi.cpp
LINKER RESPONSE FILE
/v -LC:\BC45\LIB -c -c -Tde +
C:\BC45\LIB\c0l.obj+
BC_OBJ\control.obj+
[ Long list of my files removed from here]
BC_OBJ\queue.obj
runonpc.exe,runonpc
c:\urc\kernel23\bc_lib\runonpc.lib+
C:\BC45\LIB\emu.lib+
C:\BC45\LIB\mathl.lib+
C:\BC45\LIB\cl.lib
I quite sure my library "runonpc.lib" is a large memory model
Jack
Antonio Mazzeo wrote:
Quote
JackRosenbloom wrote:

>Hello,
>
>I am using version 4.52 of the compiler to create 16 bit DOS
>applications. I have a library which I created using the IDE,
>compiled large. I also have a number of applications which all link
>to this library. When these applications are built under the IDE (
>and compiled large), all works fine. However, I need to use the
>command line compiler. If I create a makefile automamtically from the
>IDE, then run make -fproject.mak (project.mak was generated from the
>IDE), the linker generates FIXUP OVERFLOW messages on symbols from my
>library created with the IDE. Anyone have any idea how to get around
>this?


The linker generate FIXUP OVERFLOW because the memory model is
different. Check project.mak and verify that current memory model is the
same of your library.

Bye
antonio
 

{smallsort}