當我嘗試編譯使用boost :: filesystem庫的代碼時,我一直運行錯誤。我不明白我得到的任何編譯器輸出。下面是從http://www.highscore.de/cpp/boost/dateisystem.html#dateisystem_pfadangaben複製我的代碼:C++ boost :: filesystem未定義對`boost :: filesystem3 :: path :: root_name()const'的引用
#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 ++。這就是終端的樣子:
[email protected]:~/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
我在做什麼錯?
下一次,請突出顯示您的代碼並點擊編輯器中的Ctrl + K或使用編輯器中的{}按鈕。 – Mat
作爲[** 2012清理**]的一部分,標記'german'被移除(http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of-2012 )。 –