Linking libraries that are written in C++ with a C interface

Gerry via Digitalmars-d digitalmars-d at puremagic.com
Sun Jun 8 20:12:11 PDT 2014


On Monday, 9 June 2014 at 02:39:36 UTC, Paul O'Neil wrote:
> Do you need to link to a C++ runtime library?  That might be 
> expected to be dynamic even if you compile a static C++ library.
>
> Paul
>
> On 06/08/2014 10:12 PM, Gerry wrote:
>> On Monday, 9 June 2014 at 01:47:57 UTC, Gerry wrote:
>>> Hello All,
>>>
>>> I'm trying to link a library that is written in C++ that 
>>> provides a C
>>> interface. Unfortunately the lib is proprietary, so I can't 
>>> include
>>> the code. I'm getting undefined references to new and delete 
>>> operators
>>> etc.  This links fine with gcc. I'm using the following 
>>> command line
>>> to build.
>>>
>>> dmd test.d file1.d file2.d -L/path/to/lib/lib.a
>>>
>>> Is this the write way to link a static library? I was 
>>> actually using
>>> ldc, but couldn't get that to work at all.
>>>
>>> Thanks,
>>> -G
>>
>> Looks like the issue is related to linking a static lib not 
>> C++. Shared
>> lib links fine. Had to use gdc to do it though.
>>
>> Thanks,
>> -G

Right! That makes perfect sense. Please forgive me for failing to 
see the forest for the trees. All good now.

Thanks a million,
-G


More information about the Digitalmars-d mailing list