000
17.09.2006, 02:47 Uhr
PaRu
|
ich bekomme einen linkerfehler, wenn ich folgenden quellcode kompiliere.
C++: |
#include <string> #include <fstream> #include "boost\filesystem\operations.hpp" #include <iostream> namespace boostFS = boost::filesystem;
bool find_file( const boostFS::path& dir_path, const std::string& file_name, boostFS::path& path_found ) { if ( !exists( dir_path ) ) return false; boostFS::directory_iterator end_itr; // default construction yields past-the-end for ( boostFS::directory_iterator itr( dir_path ); itr != end_itr; ++itr ) { if ( is_directory( *itr ) ) { if ( find_file( *itr, file_name, path_found ) ) return true; } else if ( itr->leaf() == file_name ) // see below { path_found = *itr; return true; } } return false; }
int main( ) { char fileName[] = "test.txt"; boostFS::path pfad("c:\temp"); boostFS::path pfadFound("bla");
find_file(pfad, fileName, pfadFound);
// std::cout << "Path: " << pfadFound.string() << std::endl;
//std::cin.get(); }
|
die fehlermeldung sieht wie folgt aus. leider kann ich damit nicht anfangen.
Code: |
C:\User\Test Boost Library>mingw32-make all g++ -Wall -I./src -I../../../Boost -MM src/main.cpp > src/main.dep g++ -Wall -I./src -I../../../Boost -c src/main.cpp -o src/main.o g++ -Wall -I./src -I../../../Boost -o test ./src/main.o ./src/main.o(.text+0x146):main.cpp: undefined reference to `boost::filesystem::exists(boost::filesystem::path const&)' ./src/main.o(.text+0x1b5):main.cpp: undefined reference to boost::filesystem::is_directory(boost::filesystem::path const&)' ./src/main.o(.text+0x23f):main.cpp: undefined reference to `boost::filesystem::path::leaf() const' ./src/main.o(.text+0x487):main.cpp: undefined reference to `boost::filesystem::path::path(char const*)' ./src/main.o(.text+0x4a4):main.cpp: undefined reference to `boost::filesystem::path::path(char const*)' ./src/main.o(.text$_ZN5boost10filesystem18directory_iteratorC1ERKNS0_4pathE[boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&)]+0x67):main.cpp: undefined reference to `boost::filesystem::detail::dir_itr_init(boost::shared_ptr<boost::filesystem::detail::dir_itr_imp>&, boost::filesystem::path const&)' ./src/main.o(.text$_ZN5boost10filesystem18directory_iterator9incrementEv[boost::filesystem::directory_iterator::increment()]+0xd):main.cpp: undefined reference to `boost::filesystem::detail::dir_itr_increment(boost::shared_ptr<boost::filesy stem::detail::dir_itr_imp>&)' ./src/main.o(.text$_ZNK5boost10filesystem18directory_iterator11dereferenceEv[boost::filesystem::directory_iterator::dereference() const]+0xd):main.cpp: undefined reference to boost::filesystem::detail::dir_itr_dereference(boost::shared_ptr <boost::filesystem::detail::dir_itr_imp> const&)' collect2: ld returned 1 exit status mingw32-make: *** [test] Error 1
|
mod edit: BENUTZE DIE BOARD TAGS SELBER (bei so vielem Code und vieler Fehlerausgabe ist das ohne BOARD TAGS sehr unübersichtlich) -- Gruß Patrick Dieser Post wurde am 17.09.2006 um 09:48 Uhr von Pablo editiert. |