Subject: Re: linking libgit.a in C++ projects

From: Boaz Harrosh <[email-masked]>
Date: Mon, 04 Aug 2008 11:57:22 +0300

Alex Riesen wrote:
> Avery Pennarun, Thu, Jul 31, 2008 20:55:26 +0200:
>> On 7/31/08, Alex Riesen <[email-masked]> wrote:
>>> Boaz Harrosh, Thu, Jul 31, 2008 15:04:50 +0200:
>>>> Produce a C file and header that defines some stable API to your
>>>  > GUI application, that does not expose any git internal headers.
>>>  > Then compile that, say git_api.c, with C compiler in Makefile
>>>  > and extern "C" link that file to your C++ application. This will
>>>  > completely insulate you from any git code.
>>>
>>> no, it wont. He still have to resolve name conflicts at the link time.
>> Language keywords (as opposed to function names) like 'new' and
>> 'typename' are definitely not exported to the object files.  Moreover,
>> function parameter names aren't either.
>>
> 
> Didn't mean them. Meant the globally visible names. libgit does not
> use a prefix for its exported symbols. They will clash with the
> symbols of the programs it is linked to.
> 

But that's a problem for C programs, C++ programs will not have that 
problem, right? ;-)

With C programs these git symbols can be avoided.

Boaz