From: Chris Morley <[email protected]> Subject: Re: [OpenBabel-Devel] Trunk won't compile Date: Sun, 29 Nov 2009 23:06:21 +0000
> It compiles ok on my system. > [snip] > In the declaration of FastSearchFormat::AddPattern() includes the > scope FastSearchFormat::. This should not be there but unfortunately > is a form accepted by Visual C++ without any warning. Wow. I guess I get to eat my foot here :-) I'll post the errors I'm seeing below. >From svgformat.cpp: CMakeFiles/svgformat.dir/svgformat.o: In function `OpenBabel::SVGFormat::WriteMolecule(OpenBabel::OBBase*, OpenBabel::OBConversion*)': /tmp/trunk/src/formats/svgformat.cpp:294: undefined reference to `OpenBabel::SVGPainter::SVGPainter(std::basic_ostream<char, std::char_traits<char> >&, bool, double, double, double, double)' /tmp/trunk/src/formats/svgformat.cpp:295: undefined reference to `OpenBabel::OBDepict::OBDepict(OpenBabel::OBPainter*)' /tmp/trunk/src/formats/svgformat.cpp:298: undefined reference to `OpenBabel::OBDepict::SetDrawingTerminalCarbon(bool)' /tmp/trunk/src/formats/svgformat.cpp:302: undefined reference to `OpenBabel::OBDepict::SetAliasMode(bool)' /tmp/trunk/src/formats/svgformat.cpp:304: undefined reference to `OpenBabel::SVGPainter::SetFontFamily(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/trunk/src/formats/svgformat.cpp:305: undefined reference to `OpenBabel::SVGPainter::SetPenColor(OpenBabel::OBColor const&)' /tmp/trunk/src/formats/svgformat.cpp:306: undefined reference to `OpenBabel::OBDepict::SetBondColor(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/trunk/src/formats/svgformat.cpp:307: undefined reference to `OpenBabel::SVGPainter::SetPenWidth(double)' /tmp/trunk/src/formats/svgformat.cpp:309: undefined reference to `OpenBabel::OBDepict::DrawMolecule(OpenBabel::OBMol*)' /tmp/trunk/src/formats/svgformat.cpp:313: undefined reference to `OpenBabel::SVGPainter::~SVGPainter()' /tmp/trunk/src/formats/svgformat.cpp:313: undefined reference to `OpenBabel::SVGPainter::~SVGPainter()' /tmp/trunk/src/formats/svgformat.cpp:321: undefined reference to `OpenBabel::SVGPainter::SVGPainter(std::basic_ostream<char, std::char_traits<char> >&, bool, double, double, double, double)' /tmp/trunk/src/formats/svgformat.cpp:322: undefined reference to `OpenBabel::OBDepict::OBDepict(OpenBabel::OBPainter*)' /tmp/trunk/src/formats/svgformat.cpp:327: undefined reference to `OpenBabel::OBDepict::GetBondLength() const' /tmp/trunk/src/formats/svgformat.cpp:329: undefined reference to `OpenBabel::OBDepict::SetBondLength(double)' /tmp/trunk/src/formats/svgformat.cpp:332: undefined reference to `OpenBabel::OBDepict::GetBondSpacing() const' /tmp/trunk/src/formats/svgformat.cpp:332: undefined reference to `OpenBabel::OBDepict::SetBondSpacing(double)' /tmp/trunk/src/formats/svgformat.cpp:333: undefined reference to `OpenBabel::OBDepict::GetFontSize(bool) const' /tmp/trunk/src/formats/svgformat.cpp:333: undefined reference to `OpenBabel::OBDepict::SetFontSize(int, bool)' /tmp/trunk/src/formats/svgformat.cpp:336: undefined reference to `OpenBabel::OBDepict::SetDrawingTerminalCarbon(bool)' /tmp/trunk/src/formats/svgformat.cpp:340: undefined reference to `OpenBabel::OBDepict::SetAliasMode(bool)' /tmp/trunk/src/formats/svgformat.cpp:343: undefined reference to `OpenBabel::SVGPainter::SetFontFamily(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/trunk/src/formats/svgformat.cpp:344: undefined reference to `OpenBabel::SVGPainter::SetPenColor(OpenBabel::OBColor const&)' /tmp/trunk/src/formats/svgformat.cpp:345: undefined reference to `OpenBabel::OBDepict::SetBondColor(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/trunk/src/formats/svgformat.cpp:346: undefined reference to `OpenBabel::SVGPainter::SetFillColor(OpenBabel::OBColor const&)' /tmp/trunk/src/formats/svgformat.cpp:347: undefined reference to `OpenBabel::SVGPainter::SetPenWidth(double)' /tmp/trunk/src/formats/svgformat.cpp:349: undefined reference to `OpenBabel::OBDepict::DrawMolecule(OpenBabel::OBMol*)' /tmp/trunk/src/formats/svgformat.cpp:365: undefined reference to `OpenBabel::SVGPainter::~SVGPainter()' /tmp/trunk/src/formats/svgformat.cpp:365: undefined reference to `OpenBabel::SVGPainter::~SVGPainter()' > There seems to be something going wrong in alias.h/alias.cpp, possibly > the conditional #include for gcc, which I can't test. Have you an > error message? > > Similarly I don't understand the error in cmlformat.cpp caused > presumably by adding to an enum in base.h. The changes you commit a few moments ago seem to have fixed the rest. Thanks for taking care of this. I apologize if I came off a bit hateful earlier -- I was very frustrated at the time and could have been more cooperative. > With the first change it compiles for me with CMake (Visual Studio form). > > These are compiler/build system problems, and I agree with Geoff that > everybody using CMake would help. However the Visual Studio form needs > more work and already the CMakeList.txt file have quite a number of > system dependent sections, so it will not guarantee compatibility. I agree -- I had no idea that Visual C++ was so lax. As Marcus mentioned on IRC earlier, a CDash setup would be very helpful for catching these sort of errors. Dave ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ OpenBabel-Devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbabel-devel
