我正在将旧的C ++应用程序从HP-UX移植到LINUX。要求是源代码将保留对HP-UX的遗留支持,同时还与LINUX上的GCC编译器兼容。当我尝试在HP-UX的GCC编译器上编译源文件时,出现以下错误:
$ gcc -lstdc++ foo1.cc foo2.cc
foo1.cc: In method `const char * Dictionary::lookup(const DictionaryKey &, ...)':
foo1.cc:178: warning: cannot pass objects of type `const DictionaryKey' through `...'
/usr/ccs/bin/ld: Unsatisfied symbols:
__default_alloc_template<false, 0>::_S_free_list(data)
__default_alloc_template<false, 0>::_S_start_free(data)
__default_alloc_template<false, 0>::_S_end_free(data)
cerr (data)
ostream::operator<<(ostream &(*)(ostream &))(code)
__default_alloc_template<false, 0>::_S_heap_size(data)
endl(ostream &) (code)
__malloc_alloc_template<0>::__malloc_alloc_oom_handler (data)
ostream::operator<<(char const *)(code)
collect2: ld returned 1 exit status
从LINUX编译时,相同的命令似乎有效。我想要做的是在HP-UX上使用gcc编译器进行编译时包含标准C ++库。