On 12/11/2010 16:19, Michal Minich wrote:
V Fri, 12 Nov 2010 16:14:30 +0100, Carlo wrote:

Sorry if I bother you again with this probably silly problem. Here is
the point. I want to call the D function "fun" from a .c file:

\\file libforc.d
extern (C) int fun(int x,int y){
          return x;
}
\\EOF

\\file ctest.c
#include<stdio.h>

int fun(int,int);

int main(int argc, char* argv[])
{
       printf("%d",fun(2,3));

       return 0;
}
\\EOF

This what I get trying to compile the .c file:

$ dmd libforc.d -c
$ gcc libforc.o ctest.c -m32
libforc.o: In function `no symbol':
libforc.d:(.text+0x8): undefined reference to `_Dmodule_ref' collect2:
ld returned 1 exit status

What did I miss?

You probably need to include phobos library in gcc command line.

Thanks for the reply. How do I do that? adding -lphobos doesn't work. Phobos sources seem to be in /src/phobos

Reply via email to