Board index » cppbuilder » __turboFloat

__turboFloat


2003-07-31 10:39:27 PM
cppbuilder20
I have inherited a C++Builder 5 project and imported it into C++Builder 6.
The linker gives the following error:
Unresolved external '__turboFloat' referenced from root.
What is happening here?
Francois
 
 

Re:__turboFloat

Francois Joubert,
Quote
I have inherited a C++Builder 5 project and imported it into C++Builder 6.

You'd be best advised to recreate the project from scratch in BCB6. Sadly
the import/conversion of project files has never worked very well. Even when
it appears to work the resulting EXE/DLL image can have hidden flaws.
Andrue Cope
[Bicester, UK]
 

Re:__turboFloat

When I tell CB 6 to create a new Application, it produces the typical
project + source files.
When I attempt to compile / link the project, I get an error message telling
me
"Unresolved external '__turboFloat' refererenced from root".
What obj/library do I need to make part of the project for it to resolve
this?
Regards,
Shane
 

{smallsort}

Re:__turboFloat

Shane,
Here's a FAQ on the issue:
*****
The problem here is very likely inside the default project file. This is
DEFAULT.BPR, which is found inside C++Builder's \Bin directory.
Here's what to do. Navigate to C++Builder's \Bin directory and open
DEFAULT.BPR in a text editor. Now, scroll down and look at the <LINKER>
block. That block contains the linker options, and is probably missing some
entries.
Specifically, look at the ALLOBJ field. In an intact project file, it should
contain a reference to c0w32.obj, the application's startup code. If there
is no such reference, then the __turbofloat error will occur. So, you should
make sure the ALLOBJ field looks something like this:
--------------------
<ALLOBJ value="c0w32.obj $(OBJFILES)"/>
--------------------
It should be noted that while the __turbofloat error itself is caused by a
missing reference to c0w32.obj, this problem is often correlated with other
missing entries from the <LINKER>block. Often, references to other items,
such as required libraries, are missing as well. So, for reference, here's
what the default <LINKER>block for a Windows GUI project looks like:
--------------------
<LINKER>
<ALLOBJ value="c0w32.obj $(PACKAGES) Memmgr.Lib sysinit.obj $(OBJFILES)"/>
<ALLRES value="$(RESFILES)"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mti.lib"/>
<OTHERFILES value=""/>
</LINKER>
--------------------
The most important fields above, as far as getting your application to
build, are ALLOBJ and ALLLIB. Make sure they contain the correct references,
then save the changes to DEFAULT.BPR, and your project should build
successfully, without the __turbofloat error.
*****
-- YH --
 

Re:__turboFloat

Shane,
If you don't have any "custom" default project settings that you want
retained, then you can just go to C++Builder's \Bin directory and either
delete or rename the DEFAULT.BPR file. Something is probably missing from
it.
-- YH --
 

Re:__turboFloat

Thanks.
Regards,
Shane
"Yu-Chen Hsueh" < XXXX@XXXXX.COM >wrote in message
Quote
Shane,

Here's a FAQ on the issue:

*****
The problem here is very likely inside the default project file. This is
DEFAULT.BPR, which is found inside C++Builder's \Bin directory.

Here's what to do. Navigate to C++Builder's \Bin directory and open
DEFAULT.BPR in a text editor. Now, scroll down and look at the <LINKER>
block. That block contains the linker options, and is probably missing
some
entries.

Specifically, look at the ALLOBJ field. In an intact project file, it
should
contain a reference to c0w32.obj, the application's startup code. If there
is no such reference, then the __turbofloat error will occur. So, you
should
make sure the ALLOBJ field looks something like this:

--------------------
<ALLOBJ value="c0w32.obj $(OBJFILES)"/>
--------------------

It should be noted that while the __turbofloat error itself is caused by a
missing reference to c0w32.obj, this problem is often correlated with
other
missing entries from the <LINKER>block. Often, references to other items,
such as required libraries, are missing as well. So, for reference, here's
what the default <LINKER>block for a Windows GUI project looks like:

--------------------
<LINKER>
<ALLOBJ value="c0w32.obj $(PACKAGES) Memmgr.Lib sysinit.obj $(OBJFILES)"/>
<ALLRES value="$(RESFILES)"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mti.lib"/>
<OTHERFILES value=""/>
</LINKER>
--------------------

The most important fields above, as far as getting your application to
build, are ALLOBJ and ALLLIB. Make sure they contain the correct
references,
then save the changes to DEFAULT.BPR, and your project should build
successfully, without the __turbofloat error.
*****

-- YH --


--
Any e-mail sent to me from the newsgroups will be ignored. Please confine
your posts to the newsgroups and DO NOT reply to this e-mail account.