Boost logo

Boost Users :

Subject: [Boost-users] [FILESYSTEM]:Link problem
From: Ken zhang (kennir_at_[hidden])
Date: 2008-12-03 11:45:54


Hi Dear all

    I can't link my program with boost::filesystem, the compiler report
error below:

..\binaries\lib\libresourcemanager_d.a(resimg.o):resimg.cpp:(.text$_ZN5boost10filesystem6existsINS0_10basic_pathISbIwSt11char_traitsIwESaIwEENS0_12wpath_traitsEEEEENS_9enable_ifINS0_13is_basic_pathIT_EEbE4typeERKSB_[boost::enable_if<boost::filesystem::is_basic_path<boost::filesystem::basic_path<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
boost::filesystem::wpath_traits> >, bool>::type
boost::filesystem::exists<boost::filesystem::basic_path<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
boost::filesystem::wpath_traits>
>(boost::filesystem::basic_path<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
boost::filesystem::wpath_traits> const&)]+0x77): undefined reference to
`boost::filesystem::detail::status_api(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
boost::system::error_code&)'
..\binaries\lib\libresourcemanager_d.a(resimg.o):resimg.cpp:(.text$_ZN5boost10filesystem6detail10path_proxyERKSbIwSt11char_traitsIwESaIwEESt13_Ios_Openmode[boost::filesystem::detail::path_proxy(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::_Ios_Openmode)]+0xa8): undefined reference to
`boost::filesystem::detail::create_file_api(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::_Ios_Openmode)'
..\binaries\lib\libresourcemanager_d.a(resimg.o):resimg.cpp:(.text$_ZN5boost10filesystem6detail10path_proxyERKSbIwSt11char_traitsIwESaIwEESt13_Ios_Openmode[boost::filesystem::detail::path_proxy(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::_Ios_Openmode)]+0x143): undefined reference to
`boost::filesystem::detail::narrow_path_api(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
..\binaries\lib\libresourcemanager_d.a(resimg.o):resimg.cpp:(.text$_ZN5boost10filesystem6detail10path_proxyERKSbIwSt11char_traitsIwESaIwEESt13_Ios_Openmode[boost::filesystem::detail::path_proxy(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::_Ios_Openmode)]+0x1f8): undefined reference to
`boost::filesystem::detail::remove_api(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
..\binaries\lib\libresourcemanager_d.a(resimg.o):resimg.cpp:(.text$_ZN5boost10filesystem9file_sizeINS0_10basic_pathISbIwSt11char_traitsIwESaIwEENS0_12wpath_traitsEEEEENS_9enable_ifINS0_13is_basic_pathIT_EEyE4typeERKSB_[boost::enable_if<boost::filesystem::is_basic_path<boost::filesystem::basic_path<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
boost::filesystem::wpath_traits> >, unsigned long long>::type
boost::filesystem::file_size<boost::filesystem::basic_path<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
boost::filesystem::wpath_traits>
>(boost::filesystem::basic_path<std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
boost::filesystem::wpath_traits> const&)]+0x6b): undefined reference to
`boost::filesystem::detail::file_size_api(std::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'

My boost version: 1.37
build script: bjam toolset=gcc --build-type=minimal link=shared stage
Mingw32:tdm-mingw-1.808.3-f2
GCC:gcc version 4.3.2 (4.3.2-tdm-1 for MinGW)

boost_system-mgw43-mt-1_37.lib
boost_iostreams-mgw43-mt-1_37.lib
boost_filesystem-mgw43-mt-1_37.lib

The same code worked fine on VC2008.

Best regards
Ken



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