How to integrate old source code in a project?

Posted on 1998-11-27
Last Modified: 2010-04-01
I know this is a basic question but how do you integrate old (non MFC) source code into Visual C++ projects, I want to add header files for classes from another compiler, these files don't contain any of the MFC sentries and file footer junk:

#if !defined(AFX_CHILDFRM_H__7998714E_43DE_11D2_8D97_00400558667B__INCLUDED_)
#define AFX_CHILDFRM_H__7998714E_43DE_11D2_8D97_00400558667B__INCLUDED_

#endif // !defined(AFX_CHILDFRM_H__7998714E_43DE_11D2_8D97_00400558667B__INCLUDED_)

If the files are just added to the project as they are then when this is done Microsoft gives an error. How can I add these files to my project so that the classes are recognized?
Question by:gavinpat
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 86

Expert Comment

ID: 1178740
Well, i never experienced big problems when integrating 'foreign' code to MFC projects (yep, of course, there were smaller ones ;-) What error does the compiler give?

Expert Comment

ID: 1178741
Project/Add To Project/Files...

I do this all the time.  As I prefer to write my headers by hand.

The crap at the bottom and top of the file, is to prevent the same .h being included more than once...basically the 1st time thru, the symbol AFX_whatever won't be defined, therefore the #if stuff will get included, and the symbol will be defined...the 2nd time, the symbol is already defined, so most of the header is not processed.

The reason for all those hex numbers is just to make a unique symbol name.  There is no magic there.

Expert Comment

ID: 1178742
Chances are your code implementation does not #include <stdafx.h> and the compiler will complain about missing the pre-compiled reader.  I am assuming that you are using Visual C++ compiler in IDE.  Go to Project/Setitings menu.  On Project Settings dialog use Tab C/C++.  Highlite the offending .CPP file.  In the Category list box find "Precompiled Headers"  Now set the radio button "Not using precompiled headrs."
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 1178743
McCreary's answer is the one I wanted I'm afraid I'm forced to reject yours (Answer2000) to accept his.

Expert Comment

ID: 1178744
ok, i didn't guess which part you were having trouble with!

See you round

Accepted Solution

McCreary earned 70 total points
ID: 1178745
Chances are your code implementation does not #include <stdafx.h> and the compiler will complain about missing the pre-compiled reader.  I am assuming that you are using Visual C++ compiler in IDE.  Go to Project/Setitings menu.  On Project Settings dialog use Tab C/C++.  Highlite the offending .CPP file.  In the Category list box find "Precompiled Headers"  Now set the radio button "Not using precompiled headrs."
I should have made this an answer instead of a comment.  Do I get the 75 points?

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
This article will show you some of the more useful Standard Template Library (STL) algorithms through the use of working examples.  You will learn about how these algorithms fit into the STL architecture, how they work with STL containers, and why t…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question