当前位置: 技术问答>linux和unix
静态链接的问题
来源: 互联网 发布时间:2016-02-14
本文导语: log4cplus的库是用gcc3.3编译的,现在有个使用这个库的程序要在gcc3.4下编译,链接时出现错误: ./lib/liblog4cplus.so: undefined reference to `std::__default_alloc_template::allocate(unsigned int)' ./lib/liblog4cplus.so: undefined reference to `st...
log4cplus的库是用gcc3.3编译的,现在有个使用这个库的程序要在gcc3.4下编译,链接时出现错误:
./lib/liblog4cplus.so: undefined reference to `std::__default_alloc_template::allocate(unsigned int)'
./lib/liblog4cplus.so: undefined reference to `std::basic_string::_S_empty_rep_storage'
./lib/liblog4cplus.so: undefined reference to `std::__default_alloc_template::deallocate(void*, unsigned int)'
collect2: ld returned 1 exit status
有没有什么办法解决,我不想每换一个编译器就重编log4cplus,就是说想编译一个不依赖于编译器版本的动态库,可以吗?
./lib/liblog4cplus.so: undefined reference to `std::__default_alloc_template::allocate(unsigned int)'
./lib/liblog4cplus.so: undefined reference to `std::basic_string::_S_empty_rep_storage'
./lib/liblog4cplus.so: undefined reference to `std::__default_alloc_template::deallocate(void*, unsigned int)'
collect2: ld returned 1 exit status
有没有什么办法解决,我不想每换一个编译器就重编log4cplus,就是说想编译一个不依赖于编译器版本的动态库,可以吗?
|
不同的编译器定义的格式应该也不一样的 应该每换个编译器都要重新编译下
|
完全不懂,帮你顶一下好了