 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Guido Belligoi Guest
|
Posted: Thu Oct 19, 2006 9:10 am Post subject: How to link obj's from c-source with obj's from c++-source |
|
|
Hi,
I compiled 2 simple source-files with cl -c main.cpp and cl -c test.c.
test.c contains just a simple function, which is declared in test.h.
test.h is included in test.c and in main.cpp.
When I try to link the objects with link main.cpp test.c -out:prog.exe
I get the error:
"main.obj : error LNK2019: unresolved external Symbol "int __cdecl
greater(int,int)" (?greater@@YAHHH@Z), called in function _main
prog.exe : fatal error LNK1120: 1 unresolved external Symbol"
What have I to do, to be able to link those objects together?
Guido Belligoi |
|
| Back to top |
|
 |
Ivan Vecerina Guest
|
Posted: Thu Oct 19, 2006 9:10 am Post subject: Re: How to link obj's from c-source with obj's from c++-sour |
|
|
"Guido Belligoi" <DonBlech (AT) web (DOT) de> wrote in message
news:1161244159.510082.56460 (AT) b28g2000cwb (DOT) googlegroups.com...
: Hi,
:
: I compiled 2 simple source-files with cl -c main.cpp and cl -c test.c.
: test.c contains just a simple function, which is declared in test.h.
: test.h is included in test.c and in main.cpp.
: When I try to link the objects with link main.cpp test.c -out:prog.exe
: I get the error:
: "main.obj : error LNK2019: unresolved external Symbol "int __cdecl
: greater(int,int)" (?greater@@YAHHH@Z), called in function _main
: prog.exe : fatal error LNK1120: 1 unresolved external Symbol"
:
: What have I to do, to be able to link those objects together?
A: extern "C"
For headers that are to be included both from C and C++ sources,
it is common to surround all declarations with:
#ifdef __cplusplus
extern "C" {
#endif
int greater(int a, int b);
#ifdef __cplusplus
}
#endif
You could also include an originally C-only header with:
extern "C" {
#include "test.h"
}
IIRC it is also possible to declare an individual function
as extern C:
extern "C" int greater(int a, int b);
hth-Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
Brainbench MVP for C++ <> http://www.brainbench.com |
|
| Back to top |
|
 |
Guido Belligoi Guest
|
Posted: Thu Oct 19, 2006 9:10 am Post subject: Re: How to link obj's from c-source with obj's from c++-sour |
|
|
Ivan Vecerina schrieb:
a very helpfully answer!
Thank you for the fast reply - it works fine now!!!
Guido Belligoi |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|