Hah, I figured it out. You are right, "undefined" does not mean "undeclared". So I think I found a one wrong lib.
I checked the Makefile, although a lot of strange words there, there are LIBS = -llept -lpthread So I include pthread in it. Now the tesseractmain.cpp builds. (only it, yes, I put other .cpp files containing main() to .txt files, wired, violent but worked : ) Thanks a lot for zdenop's help. On Monday, November 19, 2012 10:30:07 AM UTC-6, zdenop wrote: > > On Sun, Nov 18, 2012 at 11:49 PM, Linda Li <[email protected]<javascript:> > > wrote: > >> I build it to run tessearctmain.cpp. >> >> I do not intend to compile the whole >> >> >> Thanks to instruction from Zdenko, I add the symbols as follows: >> >> In Eclipse, Project Properties->C/C++ General->Paths and Symbols >> >> Symbol, Value. >> >> USE_STD_NAMESPACE >> >> VERSION=\"3.02.02\" >> >> >> Now building succeeds. >> >> Compile has errors, complaining there are several main() functions. >> >> I have little knowledge of makefile, which I guess can circumvent this >> problem, so I renamed all functions with main(), except tesseractmain.cpp, >> to .txt files. >> > > Are you sure you know what are you doing? > >> Now the compiling errors are: >> >> svutil.cpp:129: undefined reference to `sem_init' >> >> svutil.cpp:137: undefined reference to `sem_post' >> >> svutil.cpp:145: undefined reference to `sem_wait' >> >> svutil.cpp:188: undefined reference to `pthread_create' >> >> >> I search the word “sem_init”, which is in the configure file. >> >> I do not understand the configure file. >> >> Finding some commands containing “sem_init” >> >> { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing >> sem_init" >&5 >> >> char sem_init (); >> >> int >> >> main () >> >> { >> >> return sem_init (); >> >> ; >> >> return 0; >> >> } >> >> >> Google, found >> http://code.google.com/p/tesseract-ocr/issues/detail?id=757 >> >> “The build fails as sem_init is in librt on Solaris. The attached patch >> adds searching for sem_init in librt. After that the build succeeds.” >> >> >> Search librt in the libraries: >> >> /usr/lib/x86_64-linux-gnu/ >> >> librt.a >> >> librt.so >> >> >> So I include /usr/lib/x86_64-linux-gnu into the Library Paths >> >> Include rt into Libraries. >> >> >> Rebuild the project with hope.... >> >> >> Again, the same compiling errors are: >> >> svutil.cpp:129: undefined reference to `sem_init' >> >> svutil.cpp:137: undefined reference to `sem_post' >> >> svutil.cpp:145: undefined reference to `sem_wait' >> >> svutil.cpp:188: undefined reference to `pthread_create' >> >> I guess I need to include some header files. But I failed to find one. >> >> Or do I have to learn autotool to achieve what I want? >> An easy way? >> > > Hmm, why you are trying to use tesseract withing Ellipse (personally I > found to work with eclipse more difficult than other solutions, but it > could be my problem) if you have no clue about standard compiler errors > ;-)? > That error means that linker is missing library that provide sem_init, > sem_post, sem_wait, pthread_create on YOUR system (copying from other > system does not always work). > > -- > Zdenko > -- You received this message because you are subscribed to the Google Groups "tesseract-ocr" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/tesseract-ocr?hl=en

