MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mathlink and C/C++

  • To: mathgroup at
  • Subject: [mg65841] Re: [mg65737] Mathlink and C/C++
  • From: John Fultz <jfultz at>
  • Date: Tue, 18 Apr 2006 06:56:37 -0400 (EDT)
  • Reply-to: jfultz at
  • Sender: owner-wri-mathgroup at

Visual C++, by default, chooses to compile any file with the .cpp extension 
with the C++ compiler.  C++ object files don't link with C files without a 
little magic.  Possible solutions:

* Rename the file to a .c file (assuming it really is C and not C++)

* Change the extern declaration to extern "C", or simply wrap
  extern "C" around the entire header file.  E.g.,

#ifndef myheader_h_
#define myheader_h_ 1

extern "C" {

extern void myfunc(void);
extern void myfunc2(void);

#endif // myheader_h_ 1

* Change the VC++ project to force the file to compile with the C compiler 
(this is the /Tp switch, I believe).


John Fultz
jfultz at
User Interface Group
Wolfram Research, Inc.

On Sun, 16 Apr 2006 03:49:16 -0400 (EDT), Goyan wrote:
> [This post has been delayed due to email problems - moderator]
> Hi all,
> Recently I have been trying to compile a program using VC++ 6 and
> Mathlink. The source code was originally written by someone else and
> under kdevelop for Linux. The source code is in *.cpp format but
> actually it is written in C. I've written a wrapper cpp file for using
> it in Mathematica. However, when I compile it, it gives the error
> message:
> : error LNK2001: unresolved external symbol "int __cdecl
> myProgram(double *,long,double *,long,int,int,double,double)"
> (?myProgram@@YAHPANJ0JHHNN@Z)
> Debug/MyProgram.exe : fatal error LNK1120: 1 unresolved externals
> Error executing link.exe.
> Has anyone had similar experience before?
> Thank you for your time.
> Regards
> Goyan

  • Prev by Date: Re: unable to FullSimplify
  • Next by Date: Re: How can I solve these simultaneous quadratic equations in Mathemetica?
  • Previous by thread: Mathlink and C/C++
  • Next by thread: How can I solve these simultaneous quadratic equations in Mathemetica?