Hi Alexey,
It kind of looks like you aren't linking against any of the RDKit libraries.
Based on the errors above, I'd guess you need at least
-lSmilesParse -lDepictor -lGraphMol -lDataStructs -lRDGeometryLib
-lRDGeneral
-greg
On Fri, Jan 31, 2014 at 10:28 AM, Alexey Chernobrovkin <
chernobrov...@gmail.com> wrote:
> Dear all,
>
> I've just tried to build simple GUI in Xcode using rdkit libraries.
> Unfortunately I've got link errors. I tried to use homebrew installed
> version, also compiled sources from github by myself. Any idea?
>
> PS
> Python bindings work perfectly on my computer.
> If I don' include MolDrowing.h and DrawingToSVG.h project is linked
> without errors.
>
> simple code:
>
> #include "testmol.h"
> #include <GraphMol/RDKitBase.h>
> #include <GraphMol/SmilesParse/SmilesParse.h>
> #include <GraphMol/Depictor/RDDepictor.h>
> #include <Geometry/point.h>
> #include <GraphMol/ROMol.h>
>
> #include <GraphMol/MolDrawing/MolDrawing.h>
> //#include <GraphMol/MolDrawing/DrawingToSVG.h>
>
>
> Error listing:
>
> Ld
> /Users/black/Library/Developer/Xcode/DerivedData/SMILES_Viewer-ftbnkyhvxqageqflovukoyyuiamy/Build/Products/Debug/SMILES\
> Viewer.app/Contents/MacOS/SMILES\ Viewer normal x86_64
> cd "/Users/black/projects/SMILES Viewer"
> setenv MACOSX_DEPLOYMENT_TARGET 10.9
>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
> -arch x86_64 -isysroot
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
> -L/Users/black/Library/Developer/Xcode/DerivedData/SMILES_Viewer-ftbnkyhvxqageqflovukoyyuiamy/Build/Products/Debug
> -L/Users/black/projects/rdkit/build/lib
> -L/usr/local/Cellar/boost/1.54.0/lib
> -F/Users/black/Library/Developer/Xcode/DerivedData/SMILES_Viewer-ftbnkyhvxqageqflovukoyyuiamy/Build/Products/Debug
> -filelist
> /Users/black/Library/Developer/Xcode/DerivedData/SMILES_Viewer-ftbnkyhvxqageqflovukoyyuiamy/Build/Intermediates/SMILES\
> Viewer.build/Debug/SMILES\ Viewer.build/Objects-normal/x86_64/SMILES\
> Viewer.LinkFileList -mmacosx-version-min=10.9 -fobjc-arc
> -fobjc-link-runtime -stdlib=libstdc++ -framework Cocoa -Xlinker
> -dependency_info -Xlinker
> /Users/black/Library/Developer/Xcode/DerivedData/SMILES_Viewer-ftbnkyhvxqageqflovukoyyuiamy/Build/Intermediates/SMILES\
> Viewer.build/Debug/SMILES\ Viewer.build/Objects-normal/x86_64/SMILES\
> Viewer_dependency_info.dat -o
> /Users/black/Library/Developer/Xcode/DerivedData/SMILES_Viewer-ftbnkyhvxqageqflovukoyyuiamy/Build/Products/Debug/SMILES\
> Viewer.app/Contents/MacOS/SMILES\ Viewer
>
> Undefined symbols for architecture x86_64:
> "Invar::operator<<(std::ostream&, Invar::Invariant&)", referenced from:
> RDGeom::Point3D::operator[](unsigned int) const in testmol.o
> RDGeom::Point3D::operator[](unsigned int) in testmol.o
> RDGeom::Point2D::operator[](unsigned int) const in testmol.o
> RDGeom::Point2D::operator[](unsigned int) in testmol.o
> "RDKit::ROMol::initFromOther(RDKit::ROMol const&, bool)", referenced
> from:
> RDKit::RWMol::RWMol(RDKit::ROMol const&, bool) in testmol.o
> "RDKit::ROMol::initMol()", referenced from:
> RDKit::ROMol::ROMol() in testmol.o
> "RDKit::MolOps::Kekulize(RDKit::RWMol&, bool, unsigned int)", referenced
> from:
> RDKit::Drawing::MolToDrawing(RDKit::ROMol const&, std::vector<int,
> std::allocator<int> > const*, bool) in testmol.o
> "RDKit::MolOps::findSSSR(RDKit::ROMol const&,
> std::vector<std::vector<int, std::allocator<int> >,
> std::allocator<std::vector<int, std::allocator<int> > > >*)", referenced
> from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDLog::toStream(std::ostream&)", referenced from:
> RDGeom::Point3D::operator[](unsigned int) const in testmol.o
> RDGeom::Point3D::operator[](unsigned int) in testmol.o
> RDGeom::Point2D::operator[](unsigned int) const in testmol.o
> RDGeom::Point2D::operator[](unsigned int) in testmol.o
> "RDGeom::operator/(RDGeom::Point2D const&, double)", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDGeom::operator-(RDGeom::Point2D const&, RDGeom::Point2D const&)",
> referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDGeom::operator*(RDGeom::Point2D const&, double)", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDGeom::operator+(RDGeom::Point2D const&, RDGeom::Point2D const&)",
> referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDDepict::compute2DCoords(RDKit::ROMol&, std::map<int, RDGeom::Point2D,
> std::less<int>, std::allocator<std::pair<int const, RDGeom::Point2D> > >
> const*, bool, bool, unsigned int, unsigned int, int, bool)", referenced
> from:
> RDKit::Drawing::MolToDrawing(RDKit::ROMol const&, std::vector<int,
> std::allocator<int> > const*, bool) in testmol.o
> "RDKit::Atom::getTotalNumHs(bool) const", referenced from:
> RDKit::Drawing::detail::getAtomSymbolAndOrientation(RDKit::Atom
> const&, RDGeom::Point2D) in testmol.o
> "RDKit::Atom::getDegree() const", referenced from:
> RDKit::Drawing::detail::getAtomSymbolAndOrientation(RDKit::Atom
> const&, RDGeom::Point2D) in testmol.o
> "RDKit::Atom::getSymbol() const", referenced from:
> RDKit::Drawing::detail::getAtomSymbolAndOrientation(RDKit::Atom
> const&, RDGeom::Point2D) in testmol.o
> "RDKit::Bond::getOtherAtomIdx(unsigned int) const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDKit::Dict::getVal(std::string const&, std::string&) const",
> referenced from:
> std::string RDKit::Dict::getVal<std::string>(char const*,
> std::string&) const in testmol.o
> "RDKit::ROMol::getNumAtoms(bool) const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDKit::ROMol::getVertices() const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDKit::ROMol::getAtomBonds(RDKit::Atom const*) const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDKit::ROMol::getConformer(int) const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDKit::ROMol::getAtomWithIdx(unsigned int) const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDKit::RingInfo::numBondRings(unsigned int) const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "RDKit::Conformer::getPositions() const", referenced from:
> RDKit::Drawing::DrawMol(RDKit::ROMol const&, int, std::vector<int,
> std::allocator<int> > const*, unsigned int, double, double, double) in
> testmol.o
> "vtable for RDKit::ROMol", referenced from:
> RDKit::ROMol::ROMol() in testmol.o
> RDKit::ROMol::~ROMol() in testmol.o
> NOTE: a missing vtable usually means the first non-inline virtual member
> function has no definition.
> "vtable for RDKit::RWMol", referenced from:
> RDKit::RWMol::RWMol(RDKit::ROMol const&, bool) in testmol.o
> NOTE: a missing vtable usually means the first non-inline virtual member
> function has no definition.
> "_rdErrorLog", referenced from:
> RDGeom::Point3D::operator[](unsigned int) const in testmol.o
> RDGeom::Point3D::operator[](unsigned int) in testmol.o
> RDGeom::Point2D::operator[](unsigned int) const in testmol.o
> RDGeom::Point2D::operator[](unsigned int) in testmol.o
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
>
>
> ------------------------------------------------------------------------------
> WatchGuard Dimension instantly turns raw network data into actionable
> security intelligence. It gives you real-time visual feedback on key
> security issues and trends. Skip the complicated setup - simply import
> a virtual appliance and go from zero to informed in seconds.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
> _______________________________________________
> Rdkit-discuss mailing list
> Rdkit-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
>
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable
security intelligence. It gives you real-time visual feedback on key
security issues and trends. Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss