Thank you Ralf, The problem solved. I made a mistake:
bin_PROGRAS = main it should be: bin_PROGRA*M*S = main Thank you very much! :) Cheers, Bill 2010/2/26 Ralf Wildenhues <ralf.wildenh...@gmx.de> > * Mi Yang (杨觅) wrote on Thu, Feb 25, 2010 at 02:51:14PM CET: > > Actually I know the rules of Makefile.am. But it just don't wokr as I > > expected. > > > > My core/Makefile.am looks like this: > > > > bin_PROGRAMS = main > > main_SOURCES = filemain.cpp > > > > Then it returned the error msg. > > That doesn't make sense to me. Can you prepare and send a tarball > (.tar.gz file) containing this Makefile.am file that causes the error > message, and the configure.ac file you're using? Also, please show the > output of > autoconf --version > automake --version > > > But if I make it like this: > > > > lib_LTLIBRARIES = main.la > > _main_la_SOURCES = filemain.cpp > > > > Everything is OK and I am able to see the generated file main.so. > > This looks wrong, too. automake should be complaining about the missing > 'lib' prefix of 'main.la' in the lib_LTLIBRARIES line (unless you also > have a 'main_la_LDFLAGS = -module' line somewhere else, and the next > line should set main_la_SOURCES not _main_la_SOURCES. > > Maybe this is some character encoding issue? I'd need the files to be > able to say. > > Cheers, > Ralf >