Boost logo

Boost Users :

Subject: Re: [Boost-users] boost filesystem library files can not be linked
From: Mostafa (mostafa_working_away_at_[hidden])
Date: 2010-06-14 18:50:03


On Mon, 14 Jun 2010 15:26:21 -0700, Peng Yu <pengyu.ut_at_[hidden]> wrote:

> My ubuntu is 10.04. boost was installed from apt-get.
>
> I compiled the following code. But the library is not available to
> link. Would you please let me know how what link option I should use?
>
> $ cat main.cpp
> #include <boost/filesystem.hpp>
> #include <iostream>
> #include <string>
>
> int main()
> {
> boost::filesystem::path path1("/tmp/dir1/test1.c ");
> boost::filesystem::path path2("/tmp/dir1/.test1.profile");
> std::string result1 = boost::filesystem::basename (path1);
> std::string result2 = boost::filesystem::basename (path2);
> std::cout << result1 << std::endl;
> std::cout << result2 << std::endl;
> return 0;
> }
>
> $g++ -o main.exe main.cpp
> /tmp/ccSvyGYq.o: In function
> `__static_initialization_and_destruction_0(int, int)':
> main.cpp:(.text+0x15d): undefined reference to
> `boost::system::get_system_category()'
> main.cpp:(.text+0x169): undefined reference to
> `boost::system::get_generic_category()'
> main.cpp:(.text+0x175): undefined reference to
> `boost::system::get_generic_category()'
> main.cpp:(.text+0x181): undefined reference to
> `boost::system::get_generic_category()'
> main.cpp:(.text+0x18d): undefined reference to
> `boost::system::get_system_category()'
> collect2: ld returned 1 exit status
> make: *** [main.exe] Error 1
>

In addition to the boost_filesystem lib, you also need to link against the
boost_system lib. I believe this should solve your problem.

Regards,

Mostafa


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net