On Sun, May 07, 2006 at 11:19:15PM -0500, Bo Peng wrote: > Attached is a log file, using cygwin, cygwin boost, cygwin qt with > replaced moc.exe and uic.exe. I get a bunch of link errors. If > possible, please help me identify the problem. > > BTW, > 1. the vtable error, according to qt faq, is a sign of missing moc files. > 2. I have to use env['CC']='g++' inside SConstruct to force the use of g++.
Notice that gcc can figure out by itself that it is compiling a C++ source. Quoting the gcc man page: C++ source files conventionally use one of the suffixes .C, .cc, .cpp, .CPP, .c++, .cp, or .cxx; C++ header files often use .hh or .H; and preprocessed C++ files use the suffix .ii. GCC recognizes files with these names and compiles them as C++ programs even if you call the com- piler the same way as for compiling C programs (usually with the name gcc). However, I don't know if there is a problem with SCons itself thinking a .C file is C (rather than C++) source file. And then I don't know why gcc can figure out that .c is different than .C and scons can't do the same... I attach here a log of the configuration step. It is currently compiling. Notice that Aiksaurus doesn't seem to have been tested for and that the client subdir in src is ignored. On Cygwin, lyxclient works. -- Enrico
ef:/usr/local/src/lyx/lyx-1.5.0svn> scons frontend=qt3 qt_dir=/usr/lib/qt3 qt_inc_path=/usr/include/qt3 extra_inc_path=/usr/local/include extra_lib_path=/usr/local/lib mode=release boost=included gettext=included assertions=false warnings=false concept_checks=false aikasurus=true spell=aspell logfile=scons_config.log scons: Reading SConscript files ... Checking for pkg-config...yes Checking for main() in C library z... yes Checking for QApplication qapp() in C++ library qt-mt... yes Checking for main() in C library socket... no Checking for main() in C library nsl... no Generating src/config.h ... Checking for C header file io.h... yes Checking for C header file limits.h... yes Checking for C header file locale.h... yes Checking for C++ header file locale... yes Checking for C header file process.h... yes Checking for C header file stdlib.h... yes Checking for C header file sys/stat.h... yes Checking for C header file sys/time.h... yes Checking for C header file sys/types.h... yes Checking for C header file sys/utime.h... yes Checking for C header file sys/socket.h... yes Checking for C header file unistd.h... yes Checking for C header file utime.h... yes Checking for C++ header file istream... yes Checking for C++ header file ostream... yes Checking for C++ header file ios... yes Checking for C function open()... yes Checking for C function close()... yes Checking for C function popen()... yes Checking for C function pclose()... yes Checking for C function _open()... yes Checking for C function _close()... yes Checking for C function _popen()... yes Checking for C function _pclose()... yes Checking for C function getpid()... yes Checking for C function _getpid()... yes Checking for C function mkdir()... yes Checking for C function _mkdir()... yes Checking for C function mktemp()... yes Checking for C function mkstemp()... yes Checking for C function strerror()... yes Checking for main() in C library aspell... yes Checking for putenv... yes Checking for iostreambuf::iterator... yes Checking for the number of args for mkdir... two Checking for std::count... yes Checking for arg types for select... yes Configuration Host type: cygwin Special build flags: C Compiler: gcc C Compiler flags: C++ Compiler: g++ C++ Compiler LyX flags: C++ Compiler flags: Linker flags: -Wl,--enable-runtime-pseudo-reloc -Wl,--script,/usr/lib/qt3/mkspecs/cygwin-g++/i386pe.x-no-rdata -Wl,-s Linker user flags: -Wl,--enable-runtime-pseudo-reloc -Wl,--script,/usr/lib/qt3/mkspecs/cygwin-g++/i386pe.x-no-rdata -Wl,-s Build info: Builing directory: release/cygwin-qt3-X11 Local library directory: #release/cygwin-qt3-X11/libs Libraries pathes: ['$LOCALLIBPATH', '/usr/lib/qt3/lib', '$QT_LIB_PATH', '/usr/local/lib', '/usr/X11R6/lib'] Boost libraries: ['boost_signals', 'boost_regex', 'boost_filesystem', 'boost_iostreams'] Frontend: Frontend: qt3 Packaging: posix LyX binary dir: FIXME LyX files dir: FIXME include dir: /usr/include/qt3 library dir: /usr/lib/qt3/lib X11: True Building all targets recursively Entering src/client Entering src Entering src/mathed Entering src/insets Entering src/frontends Entering src/frontends/controllers Entering src/graphics Entering src/supports Entering src/frontends/qt3 Entering boost/libs... Entering boost/libs/filesystem/src... Entering boost/libs/iostreams/src... Entering boost/libs/regex/src... Entering boost/libs/signals/src... Entering src/tex2lyx Buinging lyx done with targets ['lyx', 'tex2lyx'] scons: done reading SConscript files. scons: Building targets ...