status of shared libs
Maxim Fomin
maxim at maxim-fomin.ru
Sun Apr 7 21:35:59 PDT 2013
On Monday, 8 April 2013 at 01:14:19 UTC, Ellery Newcomer wrote:
> On Sunday, 7 April 2013 at 06:03:38 UTC, Walter Bright wrote:
>> On 4/6/2013 7:15 PM, Ellery Newcomer wrote:
>>> dmd -unittest -fPIC -defaultlib=phobos2so -shared test1.d
>>> -oflibtest1.so
>>> gcc test1.c `pwd`/libtest1.so -L/usr/lib64/dmd/
>>> -L/usr/lib/dmd/ -o test1.x
>>> /lib64/libphobos2so.so: undefined reference to `_Dmain'
>>> collect2: error: ld returned 1 exit status
>>>
>>>
>>> _Dmain? wat?
>>
>> _Dmain is the mangled name for main() in your program.
>
> Yes, I know, but does it make sense to provide it when I call
> my shared lib from C?
DMD inserts some additional info in object file if main() is
present and sometimes it is required. One of the solutions is to
use dummy D module (with main function defined) which forwards
startup arguments to C main function.
More information about the Digitalmars-d
mailing list