无法解析基于模板的标识符"get" 。Netbeans 8.1
Unable to resolve template based identifier "get". Netbeans 8.1
我的问题是:
我收到了一个帖子主题中的警告。这真是令人心慌。自动完成不适用于出现警告的代码标准设置为C++14
例如:
Boxes[2].get()->setPosition(Boxes[2].get()->getPosition() + v1);
它会给我一个警告,当我尝试编写另一个Boxes[2].
时,自动完成不起作用。
对象的声明:
<shared_ptr<ofxBox2dRect>> Boxes;
我试图使用以下链接来解决我的问题:
- 无法解析netbeans上的标识符
- "无法解析标识符",尽管生成成功
还有更多,但他们没有帮助我:(我放弃了这个项目等)
我的NetBeans版本是8.1,C++插件1.29.6.1在Apricity操作系统上运行
我做了一些研究,也收到了一些其他警告,我认为它们与我的问题有关。
警告列表:
Recursive directive #include <boost/predef/os/bsd.h>
Analyzed user include paths and user include headers:
/usr/include
/usr/lib
/usr/lib64
/usr/share
/usr/src
/usr/include/gstreamer-1.0
/usr/lib/gstreamer-1.0/include
/usr/include/AL
/usr/include/alsa
/usr/include/gtk-3.0
/usr/include/at-spi2-atk/2.0
/usr/include/at-spi-2.0
/usr/include/dbus-1.0
/usr/lib/dbus-1.0/include
/usr/include/gio-unix-2.0
/usr/include/cairo
/usr/include/pango-1.0
/usr/include/atk-1.0
/usr/include/pixman-1
/usr/include/freetype2
/usr/include/libpng16
/usr/include/harfbuzz
/usr/include/glib-2.0
/usr/lib/glib-2.0/include
/usr/include/libdrm
/usr/include/gdk-pixbuf-2.0
/home/charllie/of-workspace/libs/fmodex/include
/home/charllie/of-workspace/libs/glfw/include
/home/charllie/of-workspace/libs/glfw/include/GLFW
/home/charllie/of-workspace/libs/kiss/include
/home/charllie/of-workspace/libs/poco/include
/home/charllie/of-workspace/libs/tess2/include
/home/charllie/of-workspace/libs/utf8cpp/include
/home/charllie/of-workspace/libs/utf8cpp/include/utf8
/home/charllie/of-workspace/libs/openFrameworks
/home/charllie/of-workspace/libs/openFrameworks/graphics
/home/charllie/of-workspace/libs/openFrameworks/math
/home/charllie/of-workspace/libs/openFrameworks/events
/home/charllie/of-workspace/libs/openFrameworks/gl
/home/charllie/of-workspace/libs/openFrameworks/communication
/home/charllie/of-workspace/libs/openFrameworks/video
/home/charllie/of-workspace/libs/openFrameworks/3d
/home/charllie/of-workspace/libs/openFrameworks/utils
/home/charllie/of-workspace/libs/openFrameworks/app
/home/charllie/of-workspace/libs/openFrameworks/sound
/home/charllie/of-workspace/libs/openFrameworks/types
/home/charllie/of-workspace/libs/openFrameworksCompiled/project
Analyzed system include paths:
/usr/include/c++/6.1.1
/usr/include/c++/6.1.1/x86_64-pc-linux-gnu
/usr/include/c++/6.1.1/backward
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include
/usr/local/include
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include-fixed
/usr/include
/home/charllie/of-workspace
Include path trail to current file:
/home/charllie/of-workspace/libs/openFrameworks/graphics/ofPath.cpp: (line 1)
/home/charllie/of-workspace/libs/openFrameworks/graphics/ofPath.h: (line 6)
/home/charllie/of-workspace/libs/openFrameworks/graphics/ofPolyline.h: (line 5)
/home/charllie/of-workspace/libs/openFrameworks/types/ofRectangle.h: (line 6)
/home/charllie/of-workspace/libs/openFrameworks/utils/ofLog.h: (line 4)
/home/charllie/of-workspace/libs/openFrameworks/utils/ofFileUtils.h: (line 8)
/usr/include/boost/filesystem.hpp: (line 16)
/usr/include/boost/filesystem/path.hpp: (line 29)
/usr/include/boost/shared_ptr.hpp: (line 17)
/usr/include/boost/smart_ptr/shared_ptr.hpp: (line 35)
/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp: (line 25)
/usr/include/boost/smart_ptr/detail/spinlock.hpp: (line 50)
/usr/include/boost/smart_ptr/detail/spinlock_sync.hpp: (line 18)
/usr/include/boost/smart_ptr/detail/yield_k.hpp: (line 28)
/usr/include/boost/predef.h: (line 17)
/usr/include/boost/predef/os.h: (line 18)
/usr/include/boost/predef/os/bsd.h: (line 52)
/usr/include/boost/predef/os/bsd/bsdi.h: (line 11)
/usr/include/boost/predef/os/bsd.h: (line 95)
/usr/include/boost/predef/os/bsd/dragonfly.h: (line 11)
/usr/include/boost/predef/os/bsd.h: (line 96)
Ctrl+Alt+Click to open include hierarchy
在我看来,这个警告是最重要的:
Library File /usr/include/boost/smart_ptr/shared_ptr.hpp
but there is an recursion #include <boost/predef/os/bsd.h> in included /usr/include/boost/predef/os/bsd/free.h
Use Ctrl+Alt to show analyzed paths Ctrl+Alt+Click to open file with failed include directive
我花了几个小时试图解决我的问题。我遵循了上面给出的链接中的步骤,但它们对我没有帮助。希望在那里我能找到帮助。
对我来说最重要的是接收完全可行的自动完成
我打开了自动完成,它工作得很好,但在这种特殊情况下不是这样。
我认为这可能是名称空间的问题,所以添加using namespace std;
我重建、清理并重新启动了这个项目,但没有起到任何作用。;(
感谢您的帮助;)
我也遇到了同样的问题。问题在于boostpredef/os/bsd.h标头。它#包括#ifndef BOOST_PREDEF_OS_BSD_H保护的#else块中的5个文件。这意味着,如果这5个文件中的任何一个也包含bsd.h(它们确实包含),那么这个头文件就不会受到递归的保护。
我的解决方案是编辑predef/os/bsd.h文件,并在#else块中添加递归保护-因此,从第94行开始,我的predef/os/ssd.h文件现在看起来像:
#ifndef BOOST_PREDEF_OS_BSD_H_PREVENT_RECURSION <-- ADD THIS
#define BOOST_PREDEF_OS_BSD_H_PREVENT_RECURSION <-- ADD THIS
#include <boost/predef/os/bsd/bsdi.h>
#include <boost/predef/os/bsd/dragonfly.h>
#include <boost/predef/os/bsd/free.h>
#include <boost/predef/os/bsd/open.h>
#include <boost/predef/os/bsd/net.h>
#endif <-- ADD THIS
现在netbeans代码帮助很好,我的代码仍然链接和编译没有错误。
相关文章:
- Cpp-Tuple使用带有变量的get
- 通过 get-Method 访问变量在类外不起作用
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- C++中是否有任何函数等同于python中字典的get函数?
- Netbeans 10:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- Eclipse/Netbeans 中的处理模式行
- 使用istringstearm和get行缓慢读取文件
- 如何将 c++ get 函数代码转换为 opencv 算法中使用的 python
- 使用 cin.get() 初始化字符数组
- std::variant<>::get() 不能使用 Apple LLVM 10.0 编译
- 编写 cin.get() 以接收字符数组时出现问题
- 作用域枚举和标准::get
- Visual Studio 2017 中的 cpprestapi 问题找不到 POST/GET 常量
- 在 C++/C 中使用 CURL 发出带有数据文件的 GET HTTP 请求
- 使用"push_back"作为带有"get"函数C++的向量
- 使用 cin.get 读取字符数组
- 如何使用 fstream 的 .get 字符串?
- 尝试构建 xerces c++ 解析器。Netbeans 和命令行构建错误未定义对"xercesc_3_2..."的引用
- 无法解析基于模板的标识符"get" 。Netbeans 8.1