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 <[email protected]>
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 <[email protected]> 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 <[email protected]>
>> wrote:
>>
>>>
>>>
>>> On Sat, Mar 12, 2016 at 5:00 AM, Yingfeng Wang <[email protected]>
>>> 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to