r-std::unique_ptr的标头位置



我花了一天的大部分时间用statet插件设置eclipse来构建Rcpp包。许多错误和重试。我想我现在差不多拿到了。

问题是,在我不久前写的一个包中(使用石头刀和球杆进行开发(,我使用了std::unique_ptr,eclipse中的代码检查器没有解决这个问题。我已经在配置中提供了以下包含目录:

C:/Rtools/mingw_64/lib/gcc/x86_64-w64-mingw32/4.9.3包括

C:/Rtools/mingw_64/lib/gcc/x86_64-w64-mingw32/4.9.3包含固定

C:/Rtools/mingw_64/x86_64-w64-mingw32/包括

C:/Rtools/mingw_64/x86_64-w64-mingw32/include/C++

C:/Rtools/mingw_64/x86_64-w64-mingw32/包含/C++/反向

C:/Rtools/mingw_64/x86_64-w64-mingw32/包括/C++/x86_64-w64-mingw32

我可以在C:\Rtools/mingw_64/x86_64-w64-mingw32/include中看到stdlib.h所以,我以为一切都会好起来。

std::unique_ptr的标头在<bits/unique_ptr.h>从C++includes文件夹引用,该文件夹可能因安装而异。但是,对std::unique_ptr的标准库引用表示使用#include内存(在<>括号内(。毫无疑问,在C++includes文件夹中有一个名为memory的文件(没有扩展名(,这反过来又包括<bits/unique_ptr.h>只要#if __cplusplus>=201103L条件满足。

因此,include配置C:\/Rtools/mingw_64/x86_64-w64-mingw32/include/C++应该已经足够了。但是,如果没有指定在其他地方使用C++11,那么eclipse代码检查器就不会识别std::unique_ptr。这个相关问题在以下帖子中得到了回答:

如何在Eclipse CDT中启用C++11/C++0x支持?

最新更新