delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/17/12:03:24

From: "Jasper van Woudenberg" <p DOT v DOT woudenberg AT consunet DOT nl>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Pascal units in c++
Date: 17 Apr 1998 15:45:52 GMT
Organization: World Online
Lines: 48
Message-ID: <01bd6a17$6954d040$151601bf@cb001687>
References: <01bd6894$499fcd60$151601bf AT cb001687> <6h4hu8$hba AT news DOT u-strasbg DOT fr> <01bd694d$74dbc4c0$151601bf AT cb001687> <6h5eg3$dhp$1 AT orudios DOT magnet DOT at>
NNTP-Posting-Host: asd1-p238.worldonline.nl
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hi!

Elias Pschernig <f DOT x DOT gruber-museum-arnsdorf AT magnet DOT at> schreef in artikel
<6h5eg3$dhp$1 AT orudios DOT magnet DOT at>...
> 
> To use a .c file like a unit, you need to declare all functions and
> variables in a separate header file (example: "mouse.h") and include
> this in your program ("test.c"), as you include the "uses ..." in
> pascal.
> 
> hope this is of any help,
> Elias Pschernig
> 

I've tried this like the following:

=========== VESA.H ===========
#ifndef _VESA_H_
#define _VESA_H_

// prototypes, structures, vars, etc.

#endif

========== VESA.CPP ==========
#ifndef _VESA_CPP_
#define _VESA_CPP_

// function body's

#endif

========== MAIN.CPP ==========
include "vesa.h"

void main()
{
  // function call to function in VESA.CPP
};

I get an "undefined reference" in main() on the line which calls the
function. The only way to solve this problem is to add the line '#include
"vesa.h"' to vesa.cpp, and to include vesa.cpp in the main program, not
vesa.h. Somehow i get the feeling this is not the way it is supposed to be
done... BTW: how can i convert an object file to a library?

Thanks,
Jasper.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019