c++ boost::filesystem undefined reference to `boost::filesystem3::path::root_name() const'

c++ boost::filesystem undefined reference to `boost::filesystem3::path::root_name() const#39;(c++ boost::filesystem undefined reference to `boost::filesystem3::path::root_name() const)
本文介绍了c++ boost::filesystem undefined reference to `boost::filesystem3::path::root_name() const'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在尝试编译利用 boost::filesystem 库的代码时,我一直遇到错误.我不明白我得到的任何编译器输出.这是我从 http://www.highscore.de/cpp/boost/dateisystem.html# 复制的代码dateisystem_pfadangaben:

I keep running across errors when trying to compile code which utilizes the boost::filesystem library. I don't understand any of the compiler outputs I am getting. Here is my code copied from http://www.highscore.de/cpp/boost/dateisystem.html#dateisystem_pfadangaben:

#include <boost/filesystem.hpp>
#include <iostream>

int main(){
  boost::filesystem::path p("C:\Windows\System");
  std::cout << p.root_name() << std::endl; 
  std::cout << p.root_directory() << std::endl; 
  std::cout << p.root_path() << std::endl; 
  std::cout << p.relative_path() << std::endl; 
  std::cout << p.parent_path() << std::endl; 
  std::cout << p.filename() << std::endl; 
} 

我有 Ubuntu 11.10,我已经安装了 libbost-dev 和 g++.这是终端的样子:

I have Ubuntu 11.10 and I have installed libbost-dev and g++. This is what the terminal looks like:

sam@sam-MT6707:~/Dokumente/Programming/Projekte/FTP-abgleicher$ g++ -o pr3 pr3.cpp
/tmp/ccrN7yHl.o: In function `main':
pr3.cpp:(.text+0x3b): undefined reference to `boost::filesystem3::path::root_name() const'
pr3.cpp:(.text+0x7e): undefined reference to `boost::filesystem3::path::root_directory() const'
pr3.cpp:(.text+0xc1): undefined reference to `boost::filesystem3::path::root_path() const'
pr3.cpp:(.text+0x104): undefined reference to `boost::filesystem3::path::relative_path() const'
pr3.cpp:(.text+0x147): undefined reference to `boost::filesystem3::path::parent_path() const'
pr3.cpp:(.text+0x18a): undefined reference to `boost::filesystem3::path::filename() const'
pr3.cpp:(.text+0x1e8): undefined reference to `boost::filesystem3::path::stem() const'
pr3.cpp:(.text+0x22b): undefined reference to `boost::filesystem3::path::extension() const'

/tmp/ccrN7yHl.o: In function `__static_initialization_and_destruction_0(int, int)':
pr3.cpp:(.text+0x364): undefined reference to `boost::system::generic_category()'
pr3.cpp:(.text+0x36e): undefined reference to `boost::system::generic_category()'
pr3.cpp:(.text+0x378): undefined reference to `boost::system::system_category()'
/tmp/ccrN7yHl.o: In function `boost::filesystem3::path::codecvt()':
pr3.cpp:(.text._ZN5boost11filesystem34path7codecvtEv[boost::filesystem3::path::codecvt()]+0x7): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
collect2: ld gab 1 als Ende-Status zurück

^Translation of last line: ld returned an end status of 1

我做错了什么?

推荐答案

你必须链接 -lboost_filesystem -lboost_system.Boost 文件系统不是一个只有头文件的库;相反,它依赖于已编译的组件.

You have to link with -lboost_filesystem -lboost_system. Boost filesystem is not a header-only library; rather, it depends on compiled components.

这篇关于c++ boost::filesystem undefined reference to `boost::filesystem3::path::root_name() const'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Rising edge interrupt triggering multiple times on STM32 Nucleo(在STM32 Nucleo上多次触发上升沿中断)
How to use va_list correctly in a sequence of wrapper functions calls?(如何在一系列包装函数调用中正确使用 va_list?)
OpenGL Perspective Projection Clipping Polygon with Vertex Outside Frustum = Wrong texture mapping?(OpenGL透视投影裁剪多边形,顶点在视锥外=错误的纹理映射?)
How does one properly deserialize a byte array back into an object in C++?(如何正确地将字节数组反序列化回 C++ 中的对象?)
What free tiniest flash file system could you advice for embedded system?(您可以为嵌入式系统推荐什么免费的最小闪存文件系统?)
Volatile member variables vs. volatile object?(易失性成员变量与易失性对象?)