IBM Visual Age C++ 에서 STL 사용시 엄청난 링크 워닝

yoway의 이미지

IBM Visual Age C++ 에서 STL 사용시 엄청난 링크 워닝

IBM AIX 5.1.0.0 에서 Visual Age C++ 5.0 을 이용해서 작업중에 문제가 생겨서 질문드립니다.
윈도우 환경에서만 작업을 하다가 이번에 유닉스 계열쪽 포팅작업을 하다 IBM AIX에 포팅을 시작하게 되었습니다.
일단 컴파일은 약간의 워닝만 나고 잘 되는데 링크쪽에서 에러는 아니지만 엄청난 수의 워닝이 나타나더군요.
이것저것 간단하게 짜보면서 테스트를 해보니 아무리 봐도 STL을 사용하기만 하면 워닝이 나타나는것 같습니다.
예로 만든 코드를 보여드리면..

우선 vector<int>를 간단하게 랩핑한 IntVector 클래스 해더입니다.

#include <vector>

class IntVector
{
private:
	std::vector<int> v_;

public:
	IntVector();
	virtual ~IntVector();

	void push(int val );
	void clear();
	size_t printall();
};

위 헤더의 cpp파일입니다.

#include "intvector.h"
#include <iostream>
using std::cout;
using std::endl;
using std::vector;

IntVector::IntVector()
{
}

IntVector::~IntVector()
{
	clear();
}

void IntVector::push(int val )
{
	v_.push_back(val);
}

void IntVector::clear()
{
	v_.clear();
}

size_t IntVector::printall()
{
	int idx = 0;
	for( vector<int>::iterator i = v_.begin(); i != v_.end(); i++ )
	{
		cout<<idx<<":"<<*i<<endl;
		idx++;
	}

	return v_.size();
}

그리고 저 IntVector를 사용하고 있는 main.cpp 입니다.

#include "intvector.h"

int main()
{
	IntVector vInt;

	vInt.push(10);
	vInt.push(20);
	vInt.push(30);
	vInt.printall();

	return 0;
}

마지막으로 위의 3개 파일을 컴파일하여 실행파일을 만드는 메이크 파일입니다.

CXX =xlC
CXXFLAG =-g -q64
#TMPLFLAG =-qtempinc
#TMPLDEFINE =-D__USE_STL_TEMPINC__
#TEMPPATH =

.SUFFIXES: .a .o .cpp
.cpp.o:	
		$(CXX) $(CXXFLAG) $(TMPLFLAG) $(TMPLDEFINE) -c $*.cpp

OBJ =		main.o \
		intvector.o

all:	$(OBJ)
	$(CXX) -o out $(CXXFLAG) $(TMPLFLAG) $(TMPLDEFINE) $(OBJ)

clean: 
	rm -f $(OBJ)
	rm -f out
	rm -rf  $(TEMPPATH)

main.o : main.cpp idxvector.h intvector.h
idxvector.o : idxvector.cpp idxvector.h
intvector.o : intvector.cpp intvector.h

이렇게 초 간단한 소스지만 실제 컴파일을 링크시 엄청난 워닝이 나타납니다.

ld: 0711-224 경고: 중복된 기호: .std::allocator<char>::allocator(const std::allocator<char>&)
ld: 0711-224 경고: 중복된 기호: .std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const char*,unsigned long)
ld: 0711-224 경고: 중복된 기호: .std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Refcnt(const char*)
ld: 0711-224 경고: 중복된 기호: .std::allocator<char>::deallocate(char*,unsigned long)
ld: 0711-224 경고: 중복된 기호: .std::logic_error::~logic_error()
ld: 0711-224 경고: 중복된 기호: .std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const std::basic_string<char,std::char_traits<char>,std::allocator<char> >&,unsigned long,
unsigned long)

워닝은 대충 이런 종류입니다.
STL 및 C++ 라이브러리들이 중복됬다고 나타나더군요.
아무리 봐도 뭔가 컴파일 옵션이라던지 그런걸 잘못 준것 같은데... 몇일동안 문서를 살펴보고 이것저것 해봐도 별반 달라지는게 없더군요 T_T
고수님들의 도움을 부탁드립니다.