免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4194 | 回复: 4
打印 上一主题 下一主题

AIX机器上编译源文件出问题~~~急求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-08 14:30 |只看该作者 |倒序浏览
机器环境:服务器A上AIX5.3 + gcc 4.2.0,服务器B上AIX6.1 + gcc 4.2.0
在编译一个动态库,这个动态库以前也是这么编译的,但是我接手后出现问题了,我在服务器B上运行测试程序的时候报错:libstdc++.so.6没有被找到,在服务器A上同样也是这样的错误。没有办法,我只能重新编译动态库源文件再测试,于是我在make clean的时候出现如下错误:make: Dependency line needs colon or double colon operator.
同样,make的时候出现如下错误:make: Cannot find a rule to create target = from dependencies.Stop.尝试了很多解决方案之后估计是makefile文件的问题,我把我的makefile文件贴出来:
#****************************************************************************
#
# Makefile for TinyXml test.
# Lee Thomason
# www.grinninglizard.com
#
# This is a GNU make (gmake) makefile
#****************************************************************************
# DEBUG can be set to YES to include debugging info, or NO otherwise
DEBUG          := YES
# PROFILE can be set to YES to include profiling info, or NO otherwise
PROFILE        := NO
# TINYXML_USE_STL can be used to turn on STL support. NO, then STL
# will not be used. YES will include the STL files.
TINYXML_USE_STL := YES
#****************************************************************************
CC     := gcc
CXX    := g++
LD     := g++
AR     := ar rc
RANLIB := ranlib
DEBUG_CFLAGS     := -Wall -Wno-format -g -DDEBUG
RELEASE_CFLAGS   := -Wall -Wno-unknown-pragmas -Wno-format -O3
LIBS                 :=
DEBUG_CXXFLAGS   := ${DEBUG_CFLAGS}
RELEASE_CXXFLAGS := ${RELEASE_CFLAGS}
DEBUG_LDFLAGS    := -g
RELEASE_LDFLAGS  :=
#ifeq (YES, ${DEBUG})
   CFLAGS       := ${DEBUG_CFLAGS}
   CXXFLAGS     := ${DEBUG_CXXFLAGS}
   LDFLAGS      := ${DEBUG_LDFLAGS}
else
   CFLAGS       := ${RELEASE_CFLAGS}
   CXXFLAGS     := ${RELEASE_CXXFLAGS}
   LDFLAGS      := ${RELEASE_LDFLAGS}
endif
ifeq (YES, ${PROFILE})
   CFLAGS   := ${CFLAGS} -pg -O3
   CXXFLAGS := ${CXXFLAGS} -pg -O3
   LDFLAGS  := ${LDFLAGS} -pg
endif
#****************************************************************************
# Preprocessor directives
#****************************************************************************
ifeq (YES, ${TINYXML_USE_STL})
  DEFS := -DTIXML_USE_STL
else
  DEFS :=
endif
#****************************************************************************
# Include paths
#****************************************************************************
#INCS := -I/usr/include/g++-2 -I/usr/local/include
INCS :=
#****************************************************************************
# Makefile code common to all platforms
#****************************************************************************
CFLAGS   := ${CFLAGS}   ${DEFS}
CXXFLAGS := ${CXXFLAGS} ${DEFS}
#****************************************************************************
# Targets of the build
#****************************************************************************
OUTPUT := libUnicomH2Dll.so
all: ${OUTPUT}
#****************************************************************************
# Source files
#****************************************************************************
SRCS := APL_Poll.cpp tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp tinystr.cpp BaseElement.cpp BaseDataDef.cpp CustomElement.cpp BaseList.cpp DBPublic.cpp HeadField.cpp PackField.cpp H2Services.cpp HeadFieldList.cpp PackFieldList.cpp ServiceBody.cpp ServiceBodyList.cpp ServiceHead.cpp ServiceHeadList.cpp StringUtil.cpp UniVar.cpp UniVarList.cpp UnicomH2Dll.cpp PubSockCOmm.cpp SocketComm.cpp ThreadLock.cpp CReadConfig.cpp
# Add on the sources for libraries
SRCS := ${SRCS}
OBJS := $(addsuffix .o,$(basename ${SRCS}))
#****************************************************************************
# Output
#****************************************************************************
${OUTPUT}: ${OBJS}
        echo -----read out-----------
        ${LD} -shared -lpthread -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}
#        @mv ${OUTPUT} ${HOME}/icddir/lib/
#****************************************************************************
# common rules
#****************************************************************************
# Rules for compiling source files to object files
%.o : %.cpp
        ${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@
%.o : %.c
        ${CC} -c ${CFLAGS} ${INCS} $< -o $@
dist:
        bash makedistlinux
clean:
        -rm -f core ${OBJS} ${OUTPUT}
depend:
        #makedepend ${INCS} ${SRCS}
#tinyxml.o: tinyxml.h tinystr.h
#tinyxmlparser.o: tinyxml.h tinystr.h
#xmltest.o: tinyxml.h tinystr.h
#tinyxmlerror.o: tinyxml.h tinystr.h


希望能在cu上得到解决,比较急,这里先谢谢各位高人了!

论坛徽章:
0
2 [报告]
发表于 2012-03-08 14:34 |只看该作者
跪求各位高人帮忙

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
3 [报告]
发表于 2012-03-08 14:45 |只看该作者
cheng84977cc 发表于 2012-03-08 14:34
跪求各位高人帮忙


不知道这个是否在AIX版块问合适一点?

论坛徽章:
0
4 [报告]
发表于 2012-03-08 18:24 |只看该作者
是不是需要将libstdc++.so.6 link 到 usr/lib 目录中就可以了?

论坛徽章:
0
5 [报告]
发表于 2012-03-09 10:59 |只看该作者
这个是 TinyXML ,如果没有人修改过 Makefile 应该不会编译不了的。

你试试看用 gmake 编译,AIX 自己带的 make 语法和 gmake 并不太一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP