How the compiler knows whether I want to use the first function or the last? Because if I do something like this: boost::filesystem3::detail::copy_file(path1, path2);
or boost::filesystem3::detail::copy_file(path1, path2, boost::filesystem3::copy_option::overwrite_if_exists
It says too few arguments or undefined reference.
$ g++ file.cpp -lboost_system
/tmp/ccW14mMD.o: In function `main':
file.cpp:(.text+0x51): undefined reference to `boost::filesystem3::detail::copy_file(boost::filesystem3::path const&,
boost::filesystem3::path const&, boost::filesystem3::copy_option::enum_type, boost::system::error_code*)'
collect2: error: ld returned 1 exit status