C++ LINUX上boost的编译错误
我刚刚在Linux上安装了boost库,并编写了一个示例应用程序:C++ LINUX上boost的编译错误,c++,linux,boost,C++,Linux,Boost,我刚刚在Linux上安装了boost库,并编写了一个示例应用程序: #include <iostream> #include <string> #include "boost/date_time/gregorian/gregorian.hpp" int main() { std::string ds("2002-JAN-01"); boost::gregorian::date d(boost::gregorian::from_string(ds)); std
#include <iostream>
#include <string>
#include "boost/date_time/gregorian/gregorian.hpp"
int main()
{
std::string ds("2002-JAN-01");
boost::gregorian::date d(boost::gregorian::from_string(ds));
std::cout<< boost::gregorian::to_simple_string(d) <<std::endl;
std::cout<< d<<std::endl;
}
但是有很多错误,比如:
/tmp/ccAfgB8z.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0xd3): undefined reference to `std::ios_base::Init::Init()'
test.cpp:(.text+0xec): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0xf8): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x104): undefined reference to `boost::system::system_category()'
/tmp/ccAfgB8z.o: In function `__tcf_4':
test.cpp:(.text+0x2be): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccAfgB8z.o: In function `main':
test.cpp:(.text+0x2d5): undefined reference to `std::allocator<char>::allocator()'
test.cpp:(.text+0x2e7): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
test.cpp:(.text+0x2f0): undefined reference to `std::allocator<char>::~allocator()'
test.cpp:(.text+0x2fd): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test.cpp:(.text+0x316): undefined reference to `std::allocator<char>::~allocator()'
test.cpp:(.text+0x33e): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x357): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x379): undefined reference to `std::cout'
test.cpp:(.text+0x37e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test.cpp:(.text+0x386): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
test.cpp:(.text+0x38b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
test.cpp:(.text+0x394): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x3ad): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x3c2): undefined reference to `std::cout'
test.cpp:(.text+0x3cf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
test.cpp:(.text+0x3d4): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
test.cpp:(.text+0x418): undefined reference to `std::locale::locale()'
test.cpp:(.text+0x431): undefined reference to `std::locale::~locale()'
test.cpp:(.text+0x43d): undefined reference to `std::cout'
test.cpp:(.text+0x442): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test.cpp:(.text+0x462): undefined reference to `std::locale::~locale()'
test.cpp:(.text+0x470): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
/tmp/ccAfgB8z.o:在函数“静态初始化”和“销毁0(int,int)”中:
test.cpp:(.text+0xd3):对“std::ios_base::Init::Init()”的未定义引用
test.cpp:(.text+0xec):对“boost::system::generic_category()”的未定义引用
test.cpp:(.text+0xf8):对“boost::system::generic_category()”的未定义引用
test.cpp:(.text+0x104):对“boost::system::system_category()”的未定义引用
/tmp/ccAfgB8z.o:在函数“tcf”中:
test.cpp:(.text+0x2be):对“std::ios_base::Init::~Init()”的未定义引用
/tmp/ccAfgB8z.o:在函数“main”中:
test.cpp:(.text+0x2d5):对“std::allocator::allocator()”的未定义引用
test.cpp:(.text+0x2e7):对“std::basic\u string::basic\u string(char const*,std::allocator const&)”的未定义引用
test.cpp:(.text+0x2f0):对“std::allocator::~allocator()”的未定义引用
test.cpp:(.text+0x2fd):对“std::basic\u string::basic\u string(std::basic\u string const&)”的未定义引用
test.cpp:(.text+0x316):对“std::allocator::~allocator()”的未定义引用
test.cpp:(.text+0x33e):对“std::basic\u string::~basic\u string()”的未定义引用
test.cpp:(.text+0x357):对'std::basic_string::~basic_string()'的未定义引用
test.cpp:(.text+0x379):对“std::cout”的未定义引用
测试.CPP:(.text +0x3e):未定义的引用“STD::Basic ToSoogleSt::Puffice < P>需要编译C++代码,代码为< >代码> GC+<代码> .< /P> < P>需要编译C++代码,代码为<代码> G++<代码>,而不是<代码> GCC > .< /P> 如Mat所提到的,您需要使用<代码> G++<代码>(或代码选项> GCC < /C> >的语言选项)。但是,当您解决此问题时,您还需要链接到Boost系统库(
-lboost_System
——可能还需要在名称上添加一个标记以匹配您的构建类型)。如Mat所述,您需要使用g++
(或gcc
的语言选项)。但是,当您解决此问题时,您还需要链接到Boost系统库(-lboost_System
--可能在名称上添加一个标记以匹配您的构建类型)。这是链接器错误。你把所有的东西都链接好了吗?这是链接器错误。你把所有的东西都连接好了吗。
/tmp/ccAfgB8z.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0xd3): undefined reference to `std::ios_base::Init::Init()'
test.cpp:(.text+0xec): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0xf8): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x104): undefined reference to `boost::system::system_category()'
/tmp/ccAfgB8z.o: In function `__tcf_4':
test.cpp:(.text+0x2be): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccAfgB8z.o: In function `main':
test.cpp:(.text+0x2d5): undefined reference to `std::allocator<char>::allocator()'
test.cpp:(.text+0x2e7): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
test.cpp:(.text+0x2f0): undefined reference to `std::allocator<char>::~allocator()'
test.cpp:(.text+0x2fd): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test.cpp:(.text+0x316): undefined reference to `std::allocator<char>::~allocator()'
test.cpp:(.text+0x33e): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x357): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x379): undefined reference to `std::cout'
test.cpp:(.text+0x37e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test.cpp:(.text+0x386): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
test.cpp:(.text+0x38b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
test.cpp:(.text+0x394): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x3ad): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
test.cpp:(.text+0x3c2): undefined reference to `std::cout'
test.cpp:(.text+0x3cf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
test.cpp:(.text+0x3d4): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
test.cpp:(.text+0x418): undefined reference to `std::locale::locale()'
test.cpp:(.text+0x431): undefined reference to `std::locale::~locale()'
test.cpp:(.text+0x43d): undefined reference to `std::cout'
test.cpp:(.text+0x442): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
test.cpp:(.text+0x462): undefined reference to `std::locale::~locale()'
test.cpp:(.text+0x470): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'