Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Strange requirement of BORLNDMM.DLL on program start...



Permlink Replies: 20 - Last Post: Feb 2, 2018 6:22 AM Last Post By: Daniel Zvinca
Bo Berglund

Posts: 757
Registered: 10/23/02
Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 9, 2015 12:05 PM
I have converted an older CPPB BDS2006 application to XE5 and then
added language support via Unicode files.

Now when I sent it out to the translators they report back that the
program won't start, it shows an error dialogue saying:

System Error:
The program can't start because BORLNDMM.DLL is missing from your
computer. Try reinstalling the program to fix the problem.

Is this some kind of C++ special thingie that is required for XE5 C++
programs to run?
I thought that everything would be built in to the exe file, but I
might have missed some settings when I created the project from
scratch in XE5 and then imported the sources.
There really are a very large number of project settings in C++, I am,
a Delphi person and am overwhelmed by this...

Any advice on what to do?

I am pretty sure that the olde version did not distribute that DLL in
its installer, so this is a requirement thta has been added in the XE5
version of the application.

---
Bo Berglund
Sweden & Texas

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 9, 2015 12:25 PM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

The program can't start because BORLNDMM.DLL is missing from
your computer. Try reinstalling the program to fix the problem.

Your XE5 project was compiled with the "Link with dynamic RTL" enabled in
the Project Options, but you did not include the actual DLL when you deployed
your app.

Is this some kind of C++ special thingie that is required for XE5
C++ programs to run?

No. BORLNDMM.DLL has always existed in every version of C++Builder, and
has always been enabled by default in new projects. Your 2006 project has
it disabled.

I thought that everything would be built in to the exe file

Yes, when configured to do so.

I might have missed some settings when I created the project from
scratch in XE5 and then imported the sources.

Yes, you did.

There really are a very large number of project settings in C++, I am,
a Delphi person and am overwhelmed by this...

Delphi does not have a dynamic RTL option.

--
Remy Lebeau (TeamB)
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 9, 2015 1:21 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
On Thu, 9 Apr 2015 12:25:05 -0700, Remy Lebeau (TeamB)
<no dot spam at no dot spam dot com> wrote:

Bo wrote:

The program can't start because BORLNDMM.DLL is missing from
your computer. Try reinstalling the program to fix the problem.

Your XE5 project was compiled with the "Link with dynamic RTL" enabled in
the Project Options, but you did not include the actual DLL when you deployed
your app.
OK, I found the checkbox in project options and unchecked it.
But now the build results in the massive error output below...
What could be going on now? Why is it mentioning ios? This is a purely
Windows VCL application. And I have removed all target platforms in
project manager except Win32.
Errors:
[ilink32 Error] Error: Unresolved external 'std::ios_base::fail()
const' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external 'std::ios_base::good()
const' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external 'std::ios_base::getloc()
const' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external 'std::locale::id::operator
unsigned int()' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external 'std::locale::name() const'
referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external
'std::locale::facet::facet(unsigned int)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external
'std::locale::facet::_Incref()' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external 'std::ios_base::flags()
const' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external 'std::ios_base::rdstate()
const' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAbstractArray
[ilink32 Error] Error: Unresolved external
'std::ctype<char>::_Getcat(std::locale::facet * *, std::locale *)'
referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAnimationCue
[ilink32 Error] Error: Unresolved external
'std::ctype<char>::widen(char) const' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAnimationCue
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::to_int_type(const char&)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAnimationCue
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::eof()' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAnimationCue
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::eq_int_type(const int&, const int&)'
referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkAnimationCue
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::not_eof(const int&)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkOStrStreamWrapper
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::to_char_type(const int&)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkOStrStreamWrapper
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::eq(const char&, const char&)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkOStrStreamWrapper
[ilink32 Error] Error: Unresolved external 'std::ios_base::ios_base()'
referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKCOMMON.LIB|vtkOStrStreamWrapper
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::find(const char *, unsigned int, const
char&)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKRENDERING.LIB|vtkOpenGLExtensionManager
[ilink32 Error] Error: Unresolved external
'std::char_traits<char>::compare(const char *, const char *, unsigned
int)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKHYBRID.LIB|vtkExodusReader
[ilink32 Error] Error: Unresolved external
'std::codecvt_base::codecvt_base(unsigned int)' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKIO.LIB|vtkImageWriter
[ilink32 Error] Error: Unresolved external 'std::ios_base::operator
!() const' referenced from
D:\ENGINEERING\PROJECTS\CMPXE5\VTK\BIN\VTKIO.LIB|vtkImageWriter
[ilink32 Error] Error: Unable to perform link


---
Bo Berglund
Sweden & Texas
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 9, 2015 3:10 PM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

OK, I found the checkbox in project options and unchecked it.
But now the build results in the massive error output below...
What could be going on now? Why is it mentioning ios? This is
a purely Windows VCL application. And I have removed all target
platforms in project manager except Win32.

It is not complaining about the iOS platform. It is complaining about items
in the STL library. Your project is using components that use STL, but the
prokect is not linking to the STL library.

--
Remy Lebeau (TeamB)
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 9, 2015 4:40 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
On Thu, 9 Apr 2015 15:10:05 -0700, Remy Lebeau (TeamB)
<no dot spam at no dot spam dot com> wrote:

Bo wrote:

OK, I found the checkbox in project options and unchecked it.
But now the build results in the massive error output below...
What could be going on now? Why is it mentioning ios? This is
a purely Windows VCL application. And I have removed all target
platforms in project manager except Win32.

It is not complaining about the iOS platform. It is complaining about items
in the STL library. Your project is using components that use STL, but the
prokect is not linking to the STL library.

OK, please excuse my daftness, but what is STL library and how can I
set up the project to link with that? Remember I am just a poor
Delphian who has been thrown in to the C++ pack....

After I got all these errors I found the dll in the resdist dir in the
XE5 installation so I sent that too to the translators to copy into
the program installation dir.
That brought up another error dialogue asking for CC32140MT.dll, which
I also found in the redist folder. So I sent that too and after that
it seems like the application runs. So either I have to include these
with the installation once it is ready for deployment (need
translations first) or I find the way to get these requirements
included in the exe.

How do I direct XE5 to include these dll:s (or rather their
functionality) into the exe file?
I already unchecked the flag you told me about earlier.

---
Bo Berglund
Sweden & Texas
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 9, 2015 5:02 PM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

That brought up another error dialogue asking for CC32140MT.dll,
which I also found in the redist folder. So I sent that too and after
that it seems like the application runs.

Yes, that is also part of the Dynamic RTL.

For future reference, you can use a tool like DependancyWalker to discover
which DLLs an app is statically linked to.

So either I have to include these with the installation once it is ready
for deployment

If you leave the Dynamic RTL enabled, yes.

or I find the way to get these requirements included in the exe.

Turning off the Dynamic RTL avoids needing to deploy those particular DLLs.
Your STL errors have nothing to do with the Dynamic RTL, though. You should
have been getting the STL errors all along until you fix your project dependancies
to include a link to the STL's static library. Since all of the errors are
coming from VTK, that library likely needs to be re-compiled first.

--
Remy Lebeau (TeamB)
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 9, 2015 11:42 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
On Thu, 9 Apr 2015 17:02:47 -0700, Remy Lebeau (TeamB)
<no dot spam at no dot spam dot com> wrote:

For future reference, you can use a tool like DependancyWalker to discover
which DLLs an app is statically linked to.
I have not used that tool before but I found version 2.2.2600 from
Oct 2006 and it shows a whole lot of hard to undrstand info.
The messages at the bottom are:
Error: At least one module has an unresolved import due to a missing
export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing
export function in a delay-load dependent module.


But above these messages there is a list of DLL:s with different
icons. At the top it lists the following files with the same comment:
"Error opening file. The system cannot find the file specified (2)."

API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL

But then there is a list of 221 DLL files all with an icon suggesting
they are 64 bit dll:s. List is too long to post here but there is a
lot of info concerning each. They are operating system files located
in c:\windows\system32.
Here are the top files from this:

ADVAPI32.DLL
API-MS-WIN-CORE-CONSOLE-L1-1-0.DLL
API-MS-WIN-CORE-DATETIME-L1-1-0.DLL
API-MS-WIN-CORE-DEBUG-L1-1-0.DLL
API-MS-WIN-CORE-DELAYLOAD-L1-1-0.DLL
API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL
API-MS-WIN-CORE-FIBERS-L1-1-0.DLL
....

Then at the bottom are the two dll:s I copied and sent to the
translators:
BORLNDMM.DLL
CC32140MT.DLL

What can be gleaned from this dependency walk???
All listed DLL:s except the two I found and sent to make the exe run
are specified as x64 CPU types. The two found are x86 and then there
is the list of "not found" DLL:s shown above ror which there is no
info.

---
Bo Berglund
Sweden & Texas

david hoke

Posts: 616
Registered: 2/9/07
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 10, 2015 5:01 AM   in response to: Bo Berglund in response to: Bo Berglund
Have you considered...

"Bo Berglund" <bo dot berglund at nospam dot com> wrote in message
news:719961 at forums dot embarcadero dot com...
Then at the bottom are the two dll:s I copied and sent to the
translators:
BORLNDMM.DLL
CC32140MT.DLL

Going back to what you originally had linking (and running somewhere?)
successfully, taking the borlndmm.dll from your XE5 installation directory,
and distributing it with the application?
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 10, 2015 5:12 AM   in response to: david hoke in response to: david hoke
On Fri, 10 Apr 2015 05:01:52 -0700, david hoke
<dhoke.nojunk@east-shore.com> wrote:

Have you considered...

"Bo Berglund" <bo dot berglund at nospam dot com> wrote in message
news:719961 at forums dot embarcadero dot com...
Then at the bottom are the two dll:s I copied and sent to the
translators:
BORLNDMM.DLL
CC32140MT.DLL

Going back to what you originally had linking (and running somewhere?)
successfully, taking the borlndmm.dll from your XE5 installation directory,
and distributing it with the application?

Well,
I am migrating an older BDS2006 application (written by a guy no
longer working here) to XE5. The old application did not exhibit this
behaviour, it needs only the exe itself.

So the installer does not deposit any extra files...
Of course I realize that I could "solve" the problem by adding these
dll's to the installer and it will work. But I would like to know why.

Apparently I did something wrong when I created the XE5 C++ Builder
project and imported the sources. It was impossible to use the old
BDS2006 project file because XE5 could not translate it properly (Remy
L stated that any version of XE has this problem of not being able to
properly upgrade the project file).
Since I am not used to C++ at all (I program in Delphi) I was
overwhelmed by the sheer bulk of project settings involving the
compiler and linker and did not spot the RTL dynamic linking setting.
So it compiled with these external dependencies.

But there is something deeper because if I uncheck the setting then
the project does not build at all.

I have to dig further next week, heading off for the week-end now.

---
Bo Berglund
Sweden & Texas

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 10, 2015 10:20 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

I am migrating an older BDS2006 application (written by a guy no
longer working here) to XE5. The old application did not exhibit this
behaviour, it needs only the exe itself.

Because it was compiled with the Dynamic RTL disabled.

Of course I realize that I could "solve" the problem by adding these
dll's to the installer and it will work. But I would like to know why.

I already told you why - because your new app is compiled with Dynamic RTL
enabled. That is the default setting. You have to remember to turn it off
(and turn off Runtime Packages, too) if you want a self-contained executable.
This has been true in EVERY version of C++Builder.

Apparently I did something wrong when I created the XE5 C++ Builder
project and imported the sources.

You did not do anything wrong. You simply did not update the new project's
settings to match the old project yet.

--
Remy Lebeau (TeamB)
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 13, 2015 8:00 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
On Fri, 10 Apr 2015 10:20:36 -0700, Remy Lebeau (TeamB)
<no dot spam at no dot spam dot com> wrote:

Apparently I did something wrong when I created the XE5 C++ Builder
project and imported the sources.

You did not do anything wrong. You simply did not update the new project's
settings to match the old project yet.

So how can I find out these settings in the old project?
Is there any comparison sheet for the tags in the project files so
that one can compare the settings side by side?

I had to go into the XE5 project file of another (Delphi) project and
delete some version connected lines in order to get XE5 sensibly
follow the settings I enter in the project settings window.
Hard to find and fix.
If the C++ compiler/linking settings are anything like those it will
be quite some detective work to compare...

---
Bo Berglund
Sweden & Texas

Mats karlsson

Posts: 64
Registered: 11/8/99
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 10, 2015 12:48 PM   in response to: Bo Berglund in response to: Bo Berglund

I have to dig further next week, heading off for the week-end now.
I believe that what you are seeing is a bug in Codegears handling of the
stl and static linking. It simply does not work properly, unfortunately.

Its been discussed in several threads and there are filed QC.s for it. I
can't find them now cause I can't get onto Embarcaderos webpages.

A workaround for your problem is to create a dummy function to resolve
the unresolved std externals as described here:
http://codeverge.com/embarcadero.cppbuilder.ide/linking-dynamic-rtl-and-codeguard/1074602

I assume you are building vtk with CMake. For your info, I never got vtk
working properly with static linking. Also, I never figured out if CMake
builds libs with -tR flag (build with dynamic RTL) or not. It seems,
when adding the flag to CMakes options it make no difference.

Cheers,
tk
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 13, 2015 3:19 PM   in response to: Bo Berglund in response to: Bo Berglund
On Fri, 10 Apr 2015 05:12:01 -0700, Bo Berglund
<bo dot berglund at nospam dot com> wrote:

I have to dig further next week, heading off for the week-end now.
Now back and ready to confront this problem again.
This is the situation for the start of this conversion project BDS2006
=> XE5.
There are 3 levels of code involved. First is the LIB files generated
by building VTK via CMake. Next is the VTK rendering component
installation in XE5 using those LIB files and finally the application
build itself using the component:

1) I had to rebuild the VTK libraries from source.
This was done using CMake and I created a command window with path
only set to the XE5 installation in order to get rid of all other
strange binaries that may pop up via extra paths during the build.
I used the published VTK method to work my way through the CMake and
execution phases and amazingly it seemed to "just work".

2) Then I had to build/install the VTK render component in XE5
Here it was not possible to use the project file that came with VTK,
instead I created a new C++ package project from scratch in XE5 and
added the sources from the original BDS2006 project file.
This both built and installed without much problems (had to ask a few
questions here but basically OK).

3) Then finally I migrated the application again using a brand new C++
VCL Forms project into which I imported the sources specified in the
BDS2006 project file. After a few Q/A rounds here I got it working and
could start adding the modifications.
System worked fine in my RAD XE5 environment.

4) Then when I deployed the exe file to the translators these
dependencies on RTL came up as explained in this thread.

So now when I have shipped what I need to the translators I took a
step back and decided to try to uncheck the Link with RTL checkbox in
step 2 above, but it gave me exactly the same result as for the exe,
same set of a score of error messages popped up again. All referring
to the VTK libraries.

So now I am up against CMake for VTK, I guess....
How could one specify the linking option behind the checkbox in the
project properties for linking with RTL? In CMake that has to be done
in some control file I gather, but how can I find it?
If I knew what it looks like I could grep through the makefiles to
hopefully find and change it.

---
Bo Berglund
Sweden & Texas
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 10, 2015 10:17 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

What can be gleaned from this dependency walk???

All of the DLLs on that list, other than the 2 C++Builder DLLs, are system
DLL that you do not need to worry about as they are already installed in
the OS itself.

--
Remy Lebeau (TeamB)
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 13, 2015 8:01 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
On Fri, 10 Apr 2015 10:17:25 -0700, Remy Lebeau (TeamB)
<no dot spam at no dot spam dot com> wrote:

Bo wrote:

What can be gleaned from this dependency walk???

All of the DLLs on that list, other than the 2 C++Builder DLLs, are system
DLL that you do not need to worry about as they are already installed in
the OS itself.

The tool is pretty strange then, because it lists these as errors
effectively hiding the real problem in a forest of non-problem items
shown as problems...

---
Bo Berglund
Sweden & Texas

Robert Byers

Posts: 26
Registered: 7/11/98
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 14, 2015 3:53 PM   in response to: Bo Berglund in response to: Bo Berglund
I do appreciate the dialogue between you and Remy. I just completed my first test project in XE7, moving pieces from a project previously done in 2007. And, I ran headlong into your earlier problem. But, the discussion reminded me that there are two places in the project options to turn off the dynamic RTL so that all of these are loaded into the executable. One is in the C++ Linker Settings (in XE7 you uncheck the box "Link with Dynamic RTL"). The second is Packages->Runtime Packages, where you uncheck the box "Link with Runtime Packages". I didn't do either originally. When I unchecked the Runtime Packages, I encountered your original problem, which disappeared by unchecking the linker option regarding Dynamic RTL.

Thanks for asking the question. It helped me.

Bob

Bo Berglund wrote:
On Fri, 10 Apr 2015 10:17:25 -0700, Remy Lebeau (TeamB)
<no dot spam at no dot spam dot com> wrote:

Bo wrote:

What can be gleaned from this dependency walk???

All of the DLLs on that list, other than the 2 C++Builder DLLs, are system
DLL that you do not need to worry about as they are already installed in
the OS itself.

The tool is pretty strange then, because it lists these as errors
effectively hiding the real problem in a forest of non-problem items
shown as problems...

---
Bo Berglund
Sweden & Texas

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 14, 2015 4:17 PM   in response to: Robert Byers in response to: Robert Byers
Robert wrote:

But, the discussion reminded me that there are two places in
the project options to turn off the dynamic RTL.

There is only one setting for Dynamic RTL. The Dynamic RTL and Runtime Packages
are two different things.

--
Remy Lebeau (TeamB)
Kelly Tremblay

Posts: 2
Registered: 2/12/00
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: May 12, 2016 5:31 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
I have always clicked off the 2 settings, dynamic RTL and the Runtime packages. This morning after making some changes to one of our programs, I am getting the message that the BORLNDMM.DLL is missing. I've never had this before (I am running Rad Studio 10 Seattle). Not sure what I am doing wrong.
Kelly
Remy Lebeau (TeamB) wrote:
Robert wrote:

But, the discussion reminded me that there are two places in
the project options to turn off the dynamic RTL.

There is only one setting for Dynamic RTL. The Dynamic RTL and Runtime Packages
are two different things.

--
Remy Lebeau (TeamB)

Edited by: Kelly Tremblay on May 12, 2016 5:31 AM
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Strange requirement of BORLNDMM.DLL on program start... [Edit]
Click to report abuse...   Click to reply to this thread Reply
  Posted: May 12, 2016 9:48 AM   in response to: Kelly Tremblay in response to: Kelly Tremblay
Kelly wrote:

I have always clicked off the 2 settings, dynamic RTL and
the Runtime packages.

There is a 3rd option now: "Link with the Delphi Runtime Library".

--
Remy Lebeau (TeamB)
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Apr 14, 2015 10:03 PM   in response to: Robert Byers in response to: Robert Byers
On Tue, 14 Apr 2015 15:53:33 -0700, Robert Byers <> wrote:

One is in the C++ Linker Settings (in XE7 you uncheck the
box "Link with Dynamic RTL").
The second is Packages->Runtime Packages, where you
uncheck the box "Link with Runtime Packages".

In my case the package flag was already unchecked, so for me that is
not the cause...

But when I looked at your suggestion I found that there is another
option just below the "Link with dynamic RTL":
"Link with Delphi Runtime Library (rtl package and
cp32mt.lib/cp32mti.lib)"

Tested setting that to true since this application uses some Delphi
functionality and clearing the "Link with RTL" setting again, but
still got the long list of linking errors....

So that is also not the solution...

---
Bo Berglund
Sweden & Texas
Daniel Zvinca

Posts: 2
Registered: 4/5/09
Re: Strange requirement of BORLNDMM.DLL on program start...
Click to report abuse...   Click to reply to this thread Reply
  Posted: Feb 2, 2018 6:22 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
It seems that once the project was first compiled to link with runtime libraries, just switching back (uncheck) gives so many std::... errors.
Usually I fix this by adding manually the right libraries to the project. Can you, please, specify which one is STL library?
Using Tokyo 10.2.2. Windows/64 bit

Thanks,
Dan

Remy Lebeau (TeamB) wrote:
Bo wrote:

OK, I found the checkbox in project options and unchecked it.
But now the build results in the massive error output below...
What could be going on now? Why is it mentioning ios? This is
a purely Windows VCL application. And I have removed all target
platforms in project manager except Win32.

It is not complaining about the iOS platform. It is complaining about items
in the STL library. Your project is using components that use STL, but the
prokect is not linking to the STL library.

--
Remy Lebeau (TeamB)
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02