• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 445
  • Last Modified:

Moving from BC 5.02 to MS VC 6.0.... HELP!!!

I am trying to move from Borland 5.02 IDE to MSVC 6.0.  A project that compiles correctly in BC5.02 is throwing errors immediately upon attempting to compile in MSVC.  I believe this has to do with my unfamiliarity with MSVC.

With the /Zm argument set to anything above 1500 (i.e., /Zm1600), I am getting immediate fatal error c1063 on any file.

If I remove that argument entirely, I get fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786).

Can anyone help?!?
0
cgoldfarb
Asked:
cgoldfarb
  • 3
  • 3
1 Solution
 
dhymesCommented:
The easiest way for me to port code from BC to VC is to

1. Create a project.
2. Add the files to the new project (this allows VC to create the make files ... for you)
3. If I am porting C - C++, then insure you include extern c so the proper standard libraries will be found.
4. Go into project setup and set the compiler/linker ..... options i want.
5. And away you go.

You may possibly have to worry about some function that BC supported that VC does not and vice versa. Also, some things that the Borland compiler lets you get away with i.e
memset(pszAAA, "0", sizeof(pszAAA));
MS wil not be so forgiving resulting in a GPF. But, this is a good thing since it will make you fix all those problems you did not even know you had.

I have re-written the entire stdio library so that all io functions that used to write out to an old dos window will not write to an equivalent MS Window. It takes full advantage of the MFCs and SDK libraries, allows multiple occurance of windows, paste and cut ..... Not sure exactly what app you are trying to port but if this could be of help to you let me know.

Regards,
Dave
0
 
cgoldfarbAuthor Commented:
I think you may have hit the nail on the head regarding the extern c.  I had it set in BC (use alot of company-standard libraries, many of which are in C) and did not set it in VC.  Will try it out and let you know.
0
 
dhymesCommented:
Ok, so did this answer you question?
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
cgoldfarbAuthor Commented:
I'm finding there are a number of differences between BC and VC.  For instance, I've had to change the following code in a sample BC header file:

_ADEF (ostream);
void _AFUNC StreamTime (ostream &);

I had all the "stream" include references throughout the project changed to use the ANSI standard includes.  This has been a major problem.  

I'm making a number of similar "ambiguous symbol" fixes, but have noticed MSVC insists inherited methods are not members of the child class.  For instance, it claims ChildClass::InheritedMethod is not a member of ParentClass, even though the inheritance structure in BC worked just fine.  Did you run into this?

Sorry to take so long in getting back to you, I was out of town.  



0
 
dhymesCommented:
Well, i ported a none Object Oriented program from BC to VC. Part of the work was to create a class library for the new product and integrate it in with the MFC libraries allowing for multiple instances of the application, the use of the Chinese Character set and allowing the use of any printer.

So, no i did not run into this, but if you give me a sample of your borland class I may be able to tell you what is going on.

0
 
cgoldfarbAuthor Commented:
I'm hacking through a number of discrepancies between the two IDE's, but won't keep your points away.  It isn't an easy question to answer unless you had the entire project in front of you to debug.

What I will do for those who use up points to view this answer is to jot down the various code mods necessary and post it as a comment when I am done.

Thanks for your effort, dhymes....
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now