让 NetBeans 的 C++ 解析器与 Emscripten 配合使用
Getting NetBeans' C++ parser to work with Emscripten
我对NetBeans的c++解析器有一点问题。一切似乎都很好,除了当我做std::vector
或std::cout
等在我的代码。如果我离开std::
部分,解析器工作正常,但当我有它在它给出
"Unable to resolve identifier vector."
(或cout
在另一个例子中)。有人知道为什么会这样吗?
额外的信息:
我使用Netbean 8。我在工具>选项> C/c++>构建工具:
中有以下设置Build Host: Localhost
Family: CLang
Encoding: UTF-8
Base Directory: C:Program FilesEmscripten
C Compiler: C:Program FilesEmscriptenemscripten1.12.0emcc
C++ Compiler: C:Program FilesEmscriptenemscripten1.12.0em++
Debugger Command: C:Program FilesEmscriptenmingw4.6.2_32bitgdb.exe
CMake Command: C:Program FilesCMake 2.8bincmake.exe
我有以下包含路径工具>选项> C/c++>代码辅助> c++编译器>包括目录:
C:Program FilesEmscriptenemscripten1.12.0systeminclude
C:Program FilesEmscriptenemscripten1.12.0systemincludelibc
C:Program FilesEmscriptenemscripten1.12.0systemincludeemscripten
C:Program FilesEmscriptenemscripten1.12.0systemincludelibcxx
编辑:我找出了问题的可能原因。似乎一些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
命名空间中。
相关文章:
- 在 emscripten 网页汇编正在运行期间更新进度条?
- Netbeans 10:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- Eclipse/Netbeans 中的处理模式行
- 为什么 emscripten 不编译我的函数?
- Javascript 找不到使用 emscripten 编译的导出 WASM 函数
- 没有 Emscripten,如何使用标准库编译C++到 WebAssembly
- emscripten 链接全局命名符号乘法定义
- 我可以在不使用Qt for Webassembly的情况下使用Emscripten编译Qt吗?
- 尝试构建 xerces c++ 解析器。Netbeans 和命令行构建错误未定义对"xercesc_3_2..."的引用
- 使用 选项配置 Netbeans 以C++代码
- glfw 的基本设置会导致与 emscripten 生成的 js 文件中的事件侦听器有关的运行时错误
- Problems with emscripten (WebAssembly)
- 错误:未定义的符号:gzclose opencv emscripten
- 将Emscripten集成到Clion中
- 犰狳代码无法在 msys2 和 netbeans 中编译
- 使用emscripten将c++文件转换为wasm时出错
- 在 Windows 中使用 NetBeans 设置 SFML
- 删除 Netbeans 中的标准运行参数
- 哪些 Netbeans 8.2 项目文件应提交到C++项目的版本控制?
- 让 NetBeans 的 C++ 解析器与 Emscripten 配合使用