Yes, that's exactly what I meant. I'm not sure whether this sort of thing
still works in our troubled times, but it's easy enough to try.
-P.
On Wed, Mar 16, 2016 at 8:46 AM, Yingfeng Wang <ywang...@gmail.com> wrote:
> Peter,
>
> Thanks. Do you mean
>
> -lLibA_static -lLibB_static -lLibC_static -lLibA_static -lLibB_static
> -lLibC_static
>
> ?
>
> So, by this way, we don't need to worry about the order of these three
> libraries.
>
> Best,
> Yingfeng
>
> On Wed, Mar 16, 2016 at 12:36 AM, Peter S. Shenkin <shen...@gmail.com>
> wrote:
>
>> I'm not sure how this works with modern linkers, but "back in the old
>> days", you could kludge it by putting all libraries on the link line twice,
>> This also resolved circular references.
>>
>> -P.
>>
>> On Wed, Mar 16, 2016 at 12:05 AM, Greg Landrum <greg.land...@gmail.com>
>> wrote:
>>
>>> Though that would be useful information, I'm afraid that's not something
>>> I've ever put together.
>>>
>>> -greg
>>>
>>>
>>>
>>> On Tue, Mar 15, 2016 at 6:26 PM, Yingfeng Wang <ywang...@gmail.com>
>>> wrote:
>>>
>>>> Greg,
>>>>
>>>> Could you please give me an order of all libraries? Say, I want to link
>>>> all RDKit static libraries. I know most of which could be unnecessary, but
>>>> I just want to make my situation easy. So, if I cannot figure out a better
>>>> plan, this way at least works.
>>>>
>>>> Thanks.
>>>> Yingfeng
>>>>
>>>> On Mon, Mar 14, 2016 at 8:16 AM, Greg Landrum <greg.land...@gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Sat, Mar 12, 2016 at 5:00 AM, Yingfeng Wang <ywang...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Greg,
>>>>>>
>>>>>> Thanks. Your suggestion solves my problem. I add the following part
>>>>>> in my compiling command.
>>>>>>
>>>>>> -L/Users/yingfeng/software/RDKit/rdkit-Release_2015_03_1/lib
>>>>>> -lRDInchiLib -lInChi -lGraphMol -lRDGeneral
>>>>>>
>>>>>> and the complete compiling command is
>>>>>>
>>>>>> g++ -Wall -O2 -std=c++11 -I
>>>>>> /Users/yingfeng/software/RDKit/rdkit-Release_2015_03_1/Code -I
>>>>>> /Users/yingfeng/software/RDKit/rdkit-Release_2015_03_1/External -I
>>>>>> /usr/local/Cellar/boost/1.60.0_1/include
>>>>>> -L/Users/yingfeng/software/RDKit/rdkit-Release_2015_03_1/lib -lRDInchiLib
>>>>>> -lInChi -lGraphMol -lRDGeneral -o MYTEST main.cpp
>>>>>>
>>>>>> Is there a way to figure out which library I should link? Actually,
>>>>>> my backup plan is to link all libraries in
>>>>>> /Users/yingfeng/software/RDKit/rdkit-Release_2015_03_1/lib
>>>>>>
>>>>>
>>>>> That's one approach, but it's kind of overkill. :-)
>>>>> The big thing is to know which library the functionality you are
>>>>> calling comes from. You can generally tell this from the header files
>>>>> (i.e.
>>>>> if you include something from "DataStructs", then you need to include the
>>>>> DataStructs library). this isn't perfect because some libraries have
>>>>> dependencies on others, but it often works The other approach is to look
>>>>> in
>>>>> the RDKit source code at the CMakeLists.txt file for the libraries you are
>>>>> using and look to see which extra libraries they include when building the
>>>>> tests.
>>>>>
>>>>> This isn't very well documented. I think this kind of documentation is
>>>>> tricky to generate, so I don't want to do it unless it's going to help a
>>>>> large number of people, and it's not at all clear to me how many C++ RDKit
>>>>> users there are.
>>>>>
>>>>> By the way, is there a way to guarantee that users using my binary
>>>>>> file (e.g. MYTEST in this case) do not need to install RDKit? I tried
>>>>>> -static, but it didn't work. For example, I hope a user can run MYTEST on
>>>>>> another Mac without RDKit.
>>>>>>
>>>>>
>>>>> If you link against the _static version of the libraries (i.e.
>>>>> -lGraphMol_static instead of -lGraphMol), then you should end up with a
>>>>> version that doesn't require an RDKit install to run. It can be trickier
>>>>> to
>>>>> get these commands right because on many (all?) systems, there is an order
>>>>> dependency to static linkage. So since SmilesParse_static depends on
>>>>> GraphMol_static, GraphMol_static needs to appear *after*
>>>>> SmilesParse_static
>>>>> in the link line.
>>>>>
>>>>> I hope this helps,
>>>>> -greg
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Transform Data into Opportunity.
>>> Accelerate data analysis in your applications with
>>> Intel Data Analytics Acceleration Library.
>>> Click to learn more.
>>> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
>>> _______________________________________________
>>> Rdkit-discuss mailing list
>>> Rdkit-discuss@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>>
>>>
>>
>
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss