1

尝试使用 boost 文件系统 3,但是当我链接时,我得到以下未定义的参考:

../myfile-g.o: In function `boost::filesystem3::path::codecvt()':
../boost/filesystem/v3/path.hpp:377: undefined reference to
`boost::filesystem3::path::wchar_t_codecvt_facet()'

我在 boost 中到处都是 grep 并且没有 wchar_t_codecvt_facet()

这是在哪里定义的?

谢谢

4

2 回答 2

4

也许您缺少链接库?当我 grep 时,我得到:

filesystem/v3/path.hpp:371  return *wchat_t_codecvt_facet();
filesystem/v3/path.hpp:462  static const codecvt_type *& wchar_t_codecvt_facet();

这是 macOS 上的 boost 1.44。由于该函数是在头文件中定义的,因此它应该是 libboost_filesystem 的一部分。我不确定您使用的是什么编译器/链接器,但-libboost_filesystem如果 boost 在您的路径上正确并且您使用的是 g++,则该标志将起作用。

于 2011-03-11T04:25:37.843 回答
2

尝试添加-lboost_filesystem较新版本的 boost 库。

于 2013-06-10T07:04:36.147 回答