how to compile d programm with external c function
oliver
oliver.ruebenkoenigREM at web.de
Tue Feb 26 00:19:17 PST 2008
meldolion Wrote:
>
>
> I tried to use this official page to solve a problem :
> http://www.digitalmars.com/d/2.0/interfaceToC.html
>
> The problem is there is nothing said about compiling this source.
>
> I created a main.d and a helloworld.c sourcefile.
>
> module main;
> import std.string;
>
> extern (C)
> {
> void printHelloWorld();
> }
>
> void main(){
> printHelloWorld();
> }
>
>
>
>
>
> helloworld.c
>
> #include <stdio.h>
>
> void printHelloWorld(){
> printf("hello world");
> }
>
>
> I created the object file for helloworld.c.
>
> but when i call
>
> bud_win_3.04.exe main.d helloworld.o
>
> i get following error message.
>
> OPTLINK (R) for Win32 Release 8.00.1
> Copyright (C) Digital Mars 1989-2004 All rights reserved.
> main.obj(main)
> Error 42: Symbol Undefined _printHelloWorld
>
> Does anyone knows the solution of this problem?
>
> thx meldolion
this worked for me:
test.d:
import std.string;
extern (C)
{
void printHelloWorld();
}
void main(){
printHelloWorld();
}
helloworld.c:
#include <stdio.h>
void printHelloWorld(){
printf("hello world");
}
gcc -c helloworld.c
gdc test.d helloworld.o
(also the version with the "module main")
hth,
oliver
More information about the Digitalmars-d-learn
mailing list