I can't seem to get this to work right: gcc -m32 -shared -fPIC Test.cpp -o libTest.so g++ -m32 test_c.cpp -L. -lTest -o test_c wine htod.exe Test.h Test.d dmd test_d.d Test.d -L-L. -L-lTest -oftest_d test_d.o: In function `_Dmain': Test.d:(.text._Dmain+0x20): undefined reference to `increment' collect2: ld returned 1 exit status --- errorlevel 1 make: *** [test_d] Error 1
The resulting test_c binary from g++ works as intented (With either LD_LIBRARY_PATH="." or LD_RUN_PATH="."):
$ ./test_c Count = 0 Count = 1 $ ldd test_c linux-gate.so.1 => (0x00ad1000) libTest.so (0x005b9000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x4970f000) libm.so.6 => /lib/libm.so.6 (0x4955b000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x49587000) libc.so.6 => /lib/libc.so.6 (0x493ab000) /lib/ld-linux.so.2 (0x4938a000) Any ideas on what I'm doing wrong here? I've dropbox-ed the code if it's helpful. http://dl.dropbox.com/u/12135920/kai_test_c_interface.zip -Kai Meyer