February 25, 2008 how to compile d programm with external c function | ||||
---|---|---|---|---|
| ||||
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 |
February 26, 2008 Re: how to compile d programm with external c function | ||||
---|---|---|---|---|
| ||||
Posted in reply to meldolion | 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 |
Copyright © 1999-2021 by the D Language Foundation