Expiring Today—Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How to integrate old source code in a project?

Posted on 1998-11-27
6
Medium Priority
?
254 Views
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:

eg
#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?
0
Comment
Question by:gavinpat
[X]
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
6 Comments
 
LVL 86

Expert Comment

by:jkr
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?
0
 
LVL 8

Expert Comment

by:Answers2000
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.
0
 

Expert Comment

by:McCreary
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."
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

Author Comment

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

Expert Comment

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

See you round
0
 

Accepted Solution

by:
McCreary earned 210 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?
0

Featured Post

Independent Software Vendors: 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!

Question has a verified solution.

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

Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
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.

719 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