delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/03/05/05:36:45

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <3AA36BED.4E6DB8AF@ism.tu-berlin.de>
Date: Mon, 05 Mar 2001 10:35:25 +0000
From: Georg Fusz <fusz AT ism DOT tu-berlin DOT de>
Organization: Techn.University Berlin
X-Mailer: Mozilla 4.76 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Trace Young <tyoung AT eng DOT utah DOT edu>
CC: cygwin AT sourceware DOT cygnus DOT com
Subject: Re: call c++ from c
References: <Pine DOT 4 DOT 10 DOT 10103021617420 DOT 29491-100000 AT lab1-1 DOT eng DOT utah DOT edu>

--------------F7EC0C52F531821D87DD33AF
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit



Trace Young wrote:
> 
> Hi, is anybody could help me to point out the problem:
> 
> my problems is: it could not link while calling a c++ function in
> cpp file from c function in c file with the main().
> 
> both c and cpp files can be compiler in VC++ in NT4.0, but not link
> the link error message is "unresolved external symbol _cpp_function".
> ( but I could do those in GUN g++ in Uuix )
> 
> following is my code
> ------------------------------------------------------------------
> /*c_file.c*/
> #include "c_file.h"
> int main(){
>   cpp_function();
>   return(0);
> }
> 
> ----------------------------------------------------------
> 
> /*c_file.h*/
> #ifndef __cplusplus
> extern "C++" {
> #endif
> 
> #include "cpp_file.h"
> 
> #ifndef __cplusplus
> }
> #endif
> 
> 

Here is your mistake !!!!!!!!!!!!!!!!!!!!!

#ifdef __cplusplus
extern "C" {
#endif

void cpp_function( void );
    
#ifdef __cplusplus
}
#endif
------------------------------------------------------------
> 
> //cpp_file.cpp
> #include "cpp_file.h"
> #include <iostream>
> /*
> foo::foo() {
>   i=0;
> }
> */
> void cpp_function(){
>   foo f;
> 
>   f.see();
>   cout<<"Hi, I am in Cpp file and called by C file\n"<<flush;
> }
> 
> ---------------------------------------------------------------------
> 
> //cpp_file.h
> #include <iostream.h>
> 
> class foo {
> public:
>   int i;
> 
>   foo() {i=0; }
>   ~foo() {}
> 
>   void see() {
>     cout << "--------------I am inside class ------------" << endl;
>   }
> 
> };
> 
> void cpp_function();
> ------------------------------------------------------------------------------------
> 
> Thank for any help.
> 
>         Trace
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple

-- 
Georg Fusz
Technische Universitaet Berlin, Germany


Fon:
Uni.: +49 30 314 26 884
privat: +49 30 815 30 32
Handy: +49 173 20 10 696

Homepage: http://www.cadlab.tu-berlin.de/~fusz/
--------------F7EC0C52F531821D87DD33AF
Content-Type: application/x-zip;
 name="mixed.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="mixed.zip"

UEsDBBQAAAAIAHpSZSrff0oswAAAACABAAAGAAAAZm9vLmNjlY7NigIxEITvgbxDMXpQcCeJ
4mUMexFB32FBYn6YQEyCMxHdxXdfM7c9bp+Kr7u6ijHMT6aDS6nVenWHaAXWnAvGN4xvIXgn
Np3YwpXhG4dHxpwSSmY+6lCMRdNbZeztrHXbN3820qdhvFl1/az4nryBzvnsStSjT3GBCS0p
+aEENR9uVy8Bxj7+PdU3/WkHaxfLXdU6lVHK5uhXOEFd4SP2OcP5YKHiu44KwRpcnthP8Cs2
UrpQhv5tf9UulPwCUEsDBBQAAAAIALJTZSp5XyNthAAAAKwAAAAKAAAAaGVhZGVyX2MuaG2M
vQrCMBhF90De4VI7KEjzJdIljuLgUwTJDw1IGtqmFMV3t3Vy8MJZLocjBOqb0+j83fnB2KY7
zpCNgiKSgk6CWkjSijQphDI+cV0yas4428XgfIAxNj/KuMGZXyY/JFSXCq/V8MnFsLlzHx1s
ziaUZKfYpz2+1+HMGdb9r71/E5x9AFBLAwQUAAAACACJUmUqvbtFhIMAAACcAAAABgAAAG1h
aW4uYyWNwQrCMBiD74W9Q5g7bCDt38kQ6tmDTzFG27GCdmW2QxTf3dUlkMMXSIRAdTMKj8F5
ro8rJG/REklBJ0EdJKmWlDxjTM83rq+AqmDZB+f1PRmLcrKDsUuv+VTmwvn4X6uxzs6gKdgn
Y2zSIfRj8jq62dfNZYd7LjamxYM2+N0PCvYDUEsDBBQAAAAIAIJTZSoSkSYRwAAAABgBAAAI
AAAATWFrZWZpbGVdjj0LwjAQhmcL/Q8HZmhF0kQRMeAkog7ubhKba4nmo7RWir/eVEXFJVze
5567GwLZKQF7ecFCGxzfgFMOE8Z4xqYZmwFngi/EdA5F29xh3VWvgsRRHGmXm1YhKJFtvcVs
41pq5aVHVe3Lo5MWYQl73aGi2GEP/OmM+bUJsZXaUQ+F9+HtEUk+VgoCSPLuTeNoQJLV4ZCG
rER3NKowsnznX+f3pI8sqF9S9WS5QelEkGoLo7BzRFX4NNdaV/A/5wFQSwMEFAAAAAgAhVJl
Kk6YcjigAAAACAEAAAsAAABoZWFkZXJfY2MuaE2OsQ6DMAxEdyT+wUoXGIDOhXbvV6A0MYql
QBCBLoh+e2PSCt5kn0++qyo1jm1HFkuTJhcalF00QkPOzxPKvjSPNDkdhEGpcWpVaQQflJXe
Q+dcmqy8w7i8LKlbmAI0zED1rgeCK8thpfu1ho2lKH9++sa+KL0dafCIWR53Zj1GRrllhqYB
Ufx5guxDoqdQM9YqTgg246BtffzZE7e93xdQSwECFAAUAAAACAB6UmUq339KLMAAAAAgAQAA
BgAAAAAAAAABACEAJIEAAAAAZm9vLmNjUEsBAhQAFAAAAAgAslNlKnlfI22EAAAArAAAAAoA
AAAAAAAAAQAhACSB5AAAAGhlYWRlcl9jLmhQSwECFAAUAAAACACJUmUqvbtFhIMAAACcAAAA
BgAAAAAAAAABACEAJIGQAQAAbWFpbi5jUEsBAhQAFAAAAAgAglNlKhKRJhHAAAAAGAEAAAgA
AAAAAAAAAQAgALaBNwIAAE1ha2VmaWxlUEsBAhQAFAAAAAgAhVJlKk6YcjigAAAACAEAAAsA
AAAAAAAAAQAhACSBHQMAAGhlYWRlcl9jYy5oUEsFBgAAAAAFAAUADwEAAOYDAAAAAA==

--------------F7EC0C52F531821D87DD33AF
Content-Type: text/plain; charset=us-ascii

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
--------------F7EC0C52F531821D87DD33AF--

- Raw text -


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