On 9/27/12 6:26 AM, Maxim Fomin wrote:
[snip]

Thanks! I adapted your code as follows and it works with 2.058 on Centos.

*** lib.d
import std.stdio;

extern(C) int fun()
{
    writeln(", world!");
    return 42;
}

*** main.d
import std.stdio;

extern(C) int fun();

void main()
{
    write("Hello");
    fun();
}

*** Makefile

PHOBOS_PATH=/path/to/phobos/

main: main.o liblib.so
gcc main.o -llib -lphobos2 -lpthread -lrt -L. -L${PHOBOS_PATH} -Wl,-rpath=. -o main

liblib.so: lib.d
        dmd -fPIC -c lib.d
        gcc -shared lib.o -o liblib.so

%.o: %.d
        dmd -c $<

clean:
        rm -f main main.o lib.o liblib.so

Building the makefile and running ./main prints the classic message. Thanks all for answering, this will get us going.


Andrei

Reply via email to