我现在想用g++编译ttclasses,所以对ttclasses里原来的makefile做了小小的改动,把CPLUSPLUS配成g++然后去掉了一些g++不支持的编译选项,然后编译。目标文件都能成功生成,但是在生成库文件的时候出现了如下错误提示:
g++ -G      lib/libttclassesCS.so objOpt/TTCmd.o objOpt/TTCommand.o objOpt/TTConnection.o objOpt/TTColumn.o objOpt/TTConnectionPool.o objOpt/TTParameter.o objOpt/TTCatalog.o objOpt/TTStatus.o objOpt/TTTypes.o objOpt/TTEnvironment.o objOpt/TTLog.o objOpt/TTGlobal.o  objOpt/ttTime.o
g++: lib/libttclassesCS.so: No such file or directory
make: *** [lib/libttclassesCS.so] Error 1

我对makefile还不太理解,是不是这个生成库的命令写错了,不过这个是原来ttclasses里的Makefile我只把原来的CC换成了g++啊,希望高人帮我解决一下。
"Makefile" 167 行,4784 字符 
#######################################################################
#
# 64-bit Solaris (Workshop Compiler) Makefile for the TimesTen
# TTCLASSES class library.
#
# Copyright (C) 1999, 2008, Oracle. All rights reserved.
#
#######################################################################ODBC            = /export/home5/tt/TimesTen/tt70
TTVER           = 70
TTVERSION       = TT_$(TTVER)
64BIT           = -DTT_64BIT
# Add this flag to DEFS to workaround a Sun Workshop 5 strstream bug/hang
# related to synchronization between the C++/ostream and C/printf routines
# SOL64_OSTREAM_BUG     =       -DSOL64_OSTRSTREAMTHREAD_SAFE     = -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
OPTFLAG         =
PICFLAG         =
DEBUGFLAG       = -g -DTTDEBUG
INCS            = -I$(ODBC)/include -I$(TTC_INCLUDEDIR)
DEFS            = -D$(TTVERSION) -DTTEXCEPT $(THREAD_SAFE) $(64BIT) -DTTCLASSES
PLATFORM        = $(PICFLAG)CFLAGS          = $(DEFS) $(INCS) $(OPTFLAG) $(PLATFORM)
DIRLIBS         = -lpthread -lsocket -L $(ODBC)/lib -R $(ODBC)/lib -lttclientCPLUSPLUS       = g++# default LINK line (both opt/debug)
LINK            = $(CPLUSPLUS) -G $(OPTFLAG) $(PLATFORM)ARFLAGS         =SHLDEXT         = so
AREXT           = aPLAT_SPECIFIC_CLEAN   = rm -rf SunWS_cache lib/SunWS_cacheOBJ_DIR = objOptTTC_INCLUDEDIR  =  $(ODBC)/include/ttclassesTTC_CPP_OBJS = \
$(OBJ_DIR)/TTCmd.o \
$(OBJ_DIR)/TTCommand.o \
$(OBJ_DIR)/TTConnection.o \
$(OBJ_DIR)/TTColumn.o \
$(OBJ_DIR)/TTConnectionPool.o \
$(OBJ_DIR)/TTParameter.o \
$(OBJ_DIR)/TTCatalog.o \
$(OBJ_DIR)/TTStatus.o \
$(OBJ_DIR)/TTTypes.o \
$(OBJ_DIR)/TTEnvironment.o \
$(OBJ_DIR)/TTLog.o \
$(OBJ_DIR)/TTGlobal.oTTC_C_OBJS = \
$(OBJ_DIR)/ttTime.oTTC_NOXLA_OBJS = \
$(OBJ_DIR)/TTCmd.o \
$(OBJ_DIR)/TTCommand.o \
$(OBJ_DIR)/TTCmd.o \
$(OBJ_DIR)/TTCommand.o \
$(OBJ_DIR)/TTConnection.o \
$(OBJ_DIR)/TTColumn.o \
$(OBJ_DIR)/TTConnectionPool.o \
$(OBJ_DIR)/TTParameter.o \
$(OBJ_DIR)/TTCatalog.o \
$(OBJ_DIR)/TTStatus.o \
$(OBJ_DIR)/TTTypes.o \
$(OBJ_DIR)/TTEnvironment.o \
$(OBJ_DIR)/ttTime.o \
$(OBJ_DIR)/TTLog.o \
$(OBJ_DIR)/TTGlobal.o#
#  Top-level targets
#TTCLASSES_LIB = lib/libttclassesCS.$(SHLDEXT)all: shared_optdebug:
        $(MAKE) -f MakefileCS cleanobjs
        $(MAKE) -f MakefileCS static_debug
        $(MAKE) -f MakefileCS cleanobjs
        $(MAKE) -f MakefileCS shared_debugopt:
        $(MAKE) -f MakefileCS cleanobjs
        $(MAKE) -f MakefileCS static_opt
        $(MAKE) -f MakefileCS cleanobjs
        $(MAKE) -f MakefileCS shared_optstatic_debug:
        @$(MAKE) -f MakefileCS OBJ_DIR=objDbg TTCLASSES_LIB='lib/libttclassesCSD.$(AREXT)' \
                OPTFLAG='$(DEBUGFLAG)' PICFLAG='' LINK='ar $(ARFLAGS) cr'static_opt:
        @$(MAKE) -f MakefileCS TTCLASSES_LIB='lib/libttclassesCS.$(AREXT)' \
                PICFLAG='' LINK='ar $(ARFLAGS) cr'shared_debug:
        @$(MAKE) -f MakefileCS OBJ_DIR=objDbg TTCLASSES_LIB='lib/libttclassesCSD.$(SHLDEXT)' \
                OPTFLAG='$(DEBUGFLAG)'shared_opt: $(TTCLASSES_LIB)
install:
        @echo Installing TTClasses libraries
        @if [ -f 'lib/libttclassesCS.$(AREXT)' ]; then \
            rm -f $(ODBC)/lib/libttclassesCS.$(AREXT); \
            cp lib/libttclassesCS.$(AREXT) $(ODBC)/lib; \
            echo "cp lib/libttclassesCS.$(AREXT) $(ODBC)/lib"; fi;
        @if [ -f 'lib/libttclassesCSD.$(AREXT)' ]; then \
            rm -f $(ODBC)/lib/libttclassesCSD.$(AREXT); \
            cp lib/libttclassesCSD.$(AREXT) $(ODBC)/lib; \
            echo "cp lib/libttclassesCSD.$(AREXT) $(ODBC)/lib"; fi;
        @if [ -f 'lib/libttclassesCS.$(SHLDEXT)' ]; then \
            rm -f $(ODBC)/lib/libttclassesCS.$(SHLDEXT); \
            cp lib/libttclassesCS.$(SHLDEXT) $(ODBC)/lib; \
            echo "cp lib/libttclassesCS.$(SHLDEXT) $(ODBC)/lib"; fi;
        @if [ -f 'lib/libttclassesCSD.$(SHLDEXT)' ]; then \
            rm -f $(ODBC)/lib/libttclassesCSD.$(SHLDEXT); \
            cp lib/libttclassesCSD.$(SHLDEXT) $(ODBC)/lib; \
            echo "cp lib/libttclassesCSD.$(SHLDEXT) $(ODBC)/lib"; fi;cleanobjs:
        -rm -rf objDbg/*.o objOpt/*.o
        $(PLAT_SPECIFIC_CLEAN)clean: cleanobjs
        -rm -rf lib/*.$(AREXT) lib/*.$(SHLDEXT)$(TTCLASSES_LIB):  $(TTC_CPP_OBJS) $(TTC_C_OBJS)
        $(LINK) $@ $(TTC_CPP_OBJS) $(TTC_C_OBJS)
        @$(MAKE) -f MakefileCS done TTCLASSES_LIB=$@done:
        @echo "***********************************************************"
        @echo "Built $(TTCLASSES_LIB)"
        @echo "Now run 'make -f MakefileCS install' to install the the TTClasses library"
        @echo "into $(ODBC)/lib"
        @echo "***********************************************************"# -------------------------------------------------------------------------
# build targets
# -------------------------------------------------------------------------.SUFFIXES: .cpp $(SUFFIXES).KEEP.STATE:$(OBJ_DIR)/%.o:%.c
        @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
        $(CC) $(CFLAGS) -c $*.c -o $@$(OBJ_DIR)/%.o:%.cpp
        @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi
        $(CPLUSPLUS) $(CFLAGS) -c $*.cpp -o $@