我在下面的错误中使用了增强1.53,但没有使用1.56。
../../source/EntryPoint/Application.cpp:100:58: error: no matching function for call to ‘boost::filesystem::path::append(const char [22])’
petscConfigurationPath.append("FluidPetsc/Basic.conf");
备注: 问题是为什么我可以在版本1.56中将boost数组追加到boost :: filesystem :: path而我不能在版本1.53中添加?
答案 0 :(得分:1)
在旧版本中,您可以获得std::string
(append
,其中包含path
,但现在您拥有append
,因此您无法{{1}} 1}}直接在它上面。
您没有显示代码,但某些API已更改:http://www.boost.org/doc/libs/1_46_0/libs/filesystem/v3/doc/v3.html。
特别是
某些函数现在返回路径对象而不是字符串或wstring 对象:
- ROOT_NAME()
- ROOT_DIRECTORY()
- 文件名()
- 干()
- 扩展()
请注意,已弃用的" v2" API已经存在了很长时间,但在以后的版本中被削减了:
为了简化过渡,Boost发布1.44到1.47将同时提供V2和V3。版本2是Boost版本1.44和1.45的默认版本。从版本1.46开始,版本3将成为默认值。