繁体   English   中英

使NetBeans的C ++解析器与Emscripten一起使用

[英]Getting NetBeans' C++ parser to work with Emscripten

我在使用NetBeans C ++解析器时遇到一些问题。 除了我在代码中执行std::vectorstd::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的解析器可见,并依次显示vectorcoutstd名称空间中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM