On Aug 25, 10:28 am, Paul Pluzhnikov <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] writes: > > It appears to work the same as the java System.loadLibrary(<libname>) > > in that it is OS agnostic and finds an OS specific library. So I went > > to using "summarizer37". It now does not complain about not being able > > to find it. However, the reason that the library was included was to > > provide reference to a number of symbols (functions) I am using in > > jsummarizer.cc. Other functions (e.g. destructors) are still showing > > up as unresolved and therefore no dll is being produced. > > Please read this: > http://catb.org/esr/faqs/smart-questions.html > > I am guessing that you get some link error, but it is difficult to > help you when you don't tell *exactly* what the error is. > > > Using a dll > > tool, I can see that at least some of them are in the export table of > > summarizer37.dll or any of the other 4 dlls it depends on. > > I've never used 'dlltool'; reading its man page, I do not immediately > see how you can tell from its output what is and what isn't in the > export table of summarizer37.dll. > > Also, you mention destructors. If summarizer37.dll was not produced > by the same version of g++ you are using, you can't expect to be > able to link to destructors defined in it, because C++ code compiled > with different compilers is not link-compatible. > > > Tried > > linking to all 5, no joy. Is there an option I need to be using the > > signals that I am not interessted in using those? > > But you *are* interested in those symbols: your jsummarizer.obj > references them (or else your link would not have failed). > > Cheers, > -- > In order to understand recursion you must first understand recursion. > Remove /-nsp/ for email. The link errors I get are the following: build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight10summarizerD1Ev[inxight::summarizer::~summarizer()] +0x4f): undefined reference to `inxight::delete_summarizer(inxight::summarizer_interface*)'
build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight10summarizerC1EPKcS2_S2_[inxight::summarizer::summarizer(char const*, char const*, char const*)]+0x6b): undefined reference to `inxight::make_summarizer(char const*, char const*, char const*)' build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight13summarizationD1Ev[inxight::summarization::~summarization()] +0x5b): undefined reference to `inxight::delete_summarization(inxight::summarization_interface*)' build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight13summarizationC1ERNS_20summarizer_interfaceERNS_21byte_stream_interfaceERKNS_27summarization_input_optionsERKNS_29summarization_sentence_outputERKNS_27summarization_phrase_outputEPKcjSF_[inxight::summarization::summarization(inxight::summarizer_interface&, inxight::byte_stream_interface&, inxight::summarization_input_options const&, inxight::summarization_sentence_output const&, inxight::summarization_phrase_output const&, char const*, unsigned int, char const*)]+0x9a): undefined reference to `inxight::make_summarization(inxight::summarizer_interface&, inxight::byte_stream_interface&, inxight::summarization_input_options const&, inxight::summarization_sentence_output const&, inxight::summarization_phrase_output const&, char const*, unsigned int, char const*)' build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight16file_byte_stream4openEPKc[inxight::file_byte_stream::open(char const*)]+0x11a): undefined reference to `inxight::file_not_found::file_not_found(char const*, char const*)' build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight16file_byte_stream4openEPKc[inxight::file_byte_stream::open(char const*)]+0x18e): undefined reference to `inxight::file_not_found::~file_not_found()' build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight10summarizerD0Ev[inxight::summarizer::~summarizer()] +0x4f): undefined reference to `inxight::delete_summarizer(inxight::summarizer_interface*)' build/jsummarizer.o:jsummarizer.cc:(.text $_ZN7inxight13summarizationD0Ev[inxight::summarization::~summarization()] +0x5b): undefined reference to `inxight::delete_summarization(inxight::summarization_interface*)' collect2: ld returned 1 exit status Now in continuing to look for answers I found a post about virtual functions being a problem, I looked the methods up in the header files. They are all virtual. Apparently, I have to implement them? FYI the "dlltool" I used was Anywhere PE, sorry, was using it in a generic sense. As you may have understood, this is a JNI project. I have done these before against dlls of unknown compilation. I am not trying make summarizer37.dll a part of the one I'm building, merely load it at run- time. The other link command-line I included in my original post worked. I may be confused about this, but thought that linking involved putting the code together in some way as a single exe or dll. Thought this is different from writing code which calls functions in a dll/lib/so, even though the calling code and the dll are compiled by different compilers. Am I completely off base on that? Jim _______________________________________________ help-gplusplus mailing list help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus