首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

linux上用xlC编译C++报错

2013-02-04 
linux下用xlC编译C++报错a.cpp#include string#include iostream#include map#include string#inc

linux下用xlC编译C++报错
a.cpp


#include <string>
#include <iostream>
#include <map>
#include <string>
#include "test.h"
using namespace std;
#define GETS(msg) printf("%s\n",msg);
struct Student{
char name[30];
int age;
char sex[4];

}stu1,stu2={"zhangsan",22,"boy"};
FILE *p_fp;
char c_str[1000];
char c_Str[10];
map<string,   int>   my_Map;
char *ps[3];
char *pd[3]={"username","userpass","database"};

int k=0;
int main(int argc,char *argv[])
{
cout<<"sdfds";
//my_Map.insert(make_pair<string,int>("d",4)); 
//cout<<"哈哈"<<endl;
sun(1,4);
GETS("你好");
if ((p_fp=fopen(argv[1],"r"))==NULL)
printf("打开配置文件%s失败!\n",argv[1]);

else{
while (!feof(p_fp))
{

if (fgets(c_str, 25, p_fp) != NULL){
char *p;
p=strstr(c_str,"=");
printf("c_str%s\n",p);
ps[k]=p; 
k=k+1;
}

}
}
for(int i=0;i<3;i++){
printf("%s=%s\n",pd[i],ps[i]);
}
printf("My name is : %s\n","山炮");
printf("dd=%d\n",d);
CServices cs1;
cs1.add();
return 0;
}
void CServices::add(){
printf("dddddddddddd:%s\n","aaaaaaaaaaaaaaaa");
printf("结构体:%d\n",stu2.age);
}


test.h


#ifndef test_h
#define test_h
//#include <math>
#include <string>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#define BBB 80
#define DDD 60
#ifdef AAA
using namespace std;
 int i=3;
#else
 int i;
#endif
int d=14;
#define demo(H) if(2>3)\
{\
d=15;\
printf("error :  %s\n");\
}\
else\
d=18;
int c=0;
void sun(int a,int b)
{
  printf("a+b=%d\n",a+b);
  demo("error");
  }

#endif
class CServices
{
public:
CServices(){printf("构造函数\n");};
void add();

};


makefile



#################################C++程序#########################
CPP       = xlC_r7 -q64 -bh:5 -g 
CFLAGS    = -c -o 
LFLAGS    = $(PLATFORM_DEF) -D_REENTRANT -D_THREAD_SAFE -g -w -o
LIB       = -L$(PATH_LIB)
PATH_TEST =/ngbss/mddms/interface/other/SRBI/test

OBJ_TEST =\
$(PATH_TEST)/a.o\



exec_test:
@$(CPP)  $(OBJ_TEST) 

$(PATH_TEST)/a.o:
@$(CPP) $(CFLAGS) $@  $(PATH_TEST)/a.cpp



test:$(OBJ_TEST) exec_test 
@cc a.o -o a 
@a




make test


[/ngbss/mddms/interface/other/SRBI/test]$make test
ld: 0711-317 ERROR: Undefined symbol: .clear__Q2_3std8ios_baseFib
ld: 0711-317 ERROR: Undefined symbol: __dl__FPv
ld: 0711-317 ERROR: Undefined symbol: .uncaught_exception__3stdFv


ld: 0711-317 ERROR: Undefined symbol: .__dt__Q2_3std7_LockitFv
ld: 0711-317 ERROR: Undefined symbol: .__dl__FPv
ld: 0711-317 ERROR: Undefined symbol: .__ct__Q2_3std7_LockitFi
ld: 0711-317 ERROR: Undefined symbol: .__ReThrowV6
ld: 0711-317 ERROR: Undefined symbol: .__setUncaughtExceptionFlag__3stdFb
ld: 0711-317 ERROR: Undefined symbol: .__CleanupCatchV6a
ld: 0711-317 ERROR: Undefined symbol: cout__3std
ld: 0711-317 ERROR: Undefined symbol: .unexpected__3stdFv
ld: 0711-317 ERROR: Undefined symbol: .terminate__3stdFv
ld: 0711-317 ERROR: Undefined symbol: .__ThrowV6
ld: 0711-317 ERROR: Undefined symbol: ._Toupper
ld: 0711-317 ERROR: Undefined symbol: ._Tolower
ld: 0711-317 ERROR: Undefined symbol: ._Getctype__FPCc
ld: 0711-317 ERROR: Undefined symbol: _Cltab__Q2_3std5ctypeXTc_
ld: 0711-317 ERROR: Undefined symbol: .__dt__Q2_3std8_LocinfoFv
ld: 0711-317 ERROR: Undefined symbol: .__ct__Q2_3std8_LocinfoFPCci
ld: 0711-317 ERROR: Undefined symbol: .__nw__FUl
ld: 0711-317 ERROR: Undefined symbol: _Id_cnt__Q3_3std6locale2id
ld: 0711-317 ERROR: Undefined symbol: id__Q2_3std5ctypeXTc_
ld: 0711-317 ERROR: Undefined symbol: ._Getfacet__Q2_3std6localeCFUl
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: The error code from the last command is 8.

用到string  CString  map  cout   cin等等是总是报这样的错误,请教各位是为什么  c++ linux string
[解决办法]

引用:
并非第一次,之前都能通过的,而是我用到CString,string,map,cout,cin这样的东西的时候会报错


std c++的库没有被链接进来。

热点排行