[英]Getting NetBeans' C++ parser to work with Emscripten
我在使用NetBeans C ++解析器时遇到一些问题。 除了我在代码中执行std::vector
或std::cout
等时,其他所有内容似乎都正常运行。 如果我离开了std::
部分,解析器可以正常工作,但是当我将其放入时
"Unable to resolve identifier vector."
(或其他示例中的cout
)。 有人知道它为什么这样做吗?
附加信息:
我正在使用Netbean8。在“ 工具”>“选项”>“ C / C ++”>“构建工具”中有以下设置:
Build Host: Localhost
Family: CLang
Encoding: UTF-8
Base Directory: C:\Program Files\Emscripten
C Compiler: C:\Program Files\Emscripten\emscripten\1.12.0\emcc
C++ Compiler: C:\Program Files\Emscripten\emscripten\1.12.0\em++
Debugger Command: C:\Program Files\Emscripten\mingw\4.6.2_32bit\gdb.exe
CMake Command: C:\Program Files\CMake 2.8\bin\cmake.exe
我在工具>选项> C / C ++>代码协助> C ++编译器>包含目录中具有以下包含路径:
C:\Program Files\Emscripten\emscripten\1.12.0\system\include
C:\Program Files\Emscripten\emscripten\1.12.0\system\include\libc
C:\Program Files\Emscripten\emscripten\1.12.0\system\include\emscripten
C:\Program Files\Emscripten\emscripten\1.12.0\system\include\libcxx
编辑:
我找出了问题的可能原因。 似乎某些LLVM / CLang库使用定义_LIBCPP_BEGIN_NAMESPACE_STD
和_LIBCPP_END_NAMESPACE_STD
(包含在<__config>
)代替namespace std;
对于某些库,包括<iostream>
和<vector>
,我想它们是从Netbeans C ++解析器中隐藏的。
我不确定如何解决此问题。 如果发现任何问题,将向您报告。
我通过添加条目来修复它:
__clang__
在工具>选项> C / C ++>代码协助> C ++编译器>宏定义中 。
这使得_LIBCPP_BEGIN_NAMESPACE_STD
和_LIBCPP_END_NAMESPACE_STD
对Netbeans的解析器可见,并依次显示vector
和cout
在std
名称空间中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.