My Visual Studio C++ 2008 project builds the executable in 32 bit platform, in both debug and release modes, without any issue and executable runs and generates expected results.
I have some matrices with the size of more than 26000 rows by 26000 columns (double type) and in 32 bit platform I can not allocate memory to this matrices. Therefore I have to switch to 64 bit platform.
On 64 bit platform I can build my executable without any error (both debug and release modes) but when trying to run the executable I receive the following message in debug mode:
And the following message in release mode:
I stepped through the code in debugging mode and the first message I receive is this (which occurs at Microsoft COM):
Every time I click on continue on the previous message, I get a different error message occurring at different locations of a file named STAADLibBentley.tli
like the two ones shown below as a sample:
At the top of the STAADLibBentley.tli
the following comments are written, which shows the TLB file is for Win32 and the compiler is implementing a wrapper for TLB file to use it in 64 bit platform.
Looks like this STAADLibBentley.tli
file is a wrapper implemented automatically by the compiler, related to STAADLibBentley.tlb
file which I'm using in my C++ code like below and is related to STAAD APIs, STAAD is a software with which I'm communicating by TLB libraries. I'm using the TLB file like this:
Now the question is, if the compiler is taking care of writing a wrapper for the Win32 TLB file to use it in 64 platform, why I'm receiving those error messages mentioned above inside STAADLibBentley.tli
file. Does anybody know what is the possible reason?