当前位置: 首页 > 知识库问答 >
问题:

EMScripten:致命错误:找不到“tr1/unordered_map”文件

尚声
2023-03-14

因此我正在尝试使用emScripten编译以下代码:

// this is test.cpp

#include<iostream>
#include<string.h>
#include<fstream>
#include<tr1/unordered_map> //needed to use unordered maps in C++. not needed C++11 onwards
#include "C:\Users\<myusername>\Documents\PROGRAMMING\examplefolder\pugixml-1.11\src\pugixml.hpp"

#include <ctime>
#include <chrono>

int main()
{
    std::cout<<"DIS IS DA TEST";
    return 0;
}

我的实际代码要大得多,但我在这里缩短了它,以强调我的主要疑虑(我留下了我正在使用的所有头文件)。这段代码使用g++进行了完美的编译,并给出了所有预期的输出。

但当我使用emcc test.cpp-s wasm=1-o try.html将其编译为web程序集时,它给出了以下错误:

test.cpp:4:9: fatal error: 'tr1/unordered_map' file not found
#include<tr1/unordered_map> //needed to use unordered maps in C++. not needed C++11 onwards
        ^~~~~~~~~~~~~~~~~~~
1 error generated.
emcc: error: 'C:/Users/vargh/emsdk/upstream/bin\clang++.exe -DEMSCRIPTEN -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -Xclang -iwithsysroot/include/SDL -target wasm32-unknown-emscripten -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=15 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -flegacy-pass-manager -Werror=implicit-function-declaration --sysroot=C:\Users\vargh\emsdk\upstream\emscripten\cache\sysroot -Xclang -iwithsysroot/include\compat test.cpp -c -o C:\Users\<myusername>\AppData\Local\Temp\emscripten_temp_e9j9ld9x\test_0.o' failed (1)

为什么EMCC没有找到这个文件?在C++中是否有处理unordered_maps的替代方法?

我在使用tr1时遇到了堆栈溢出问题中的相同错误:C++错误:'unordered_map'不命名类型

有人能帮我一下吗?

共有1个答案

嵇浩然
2023-03-14

为什么EMCC没有找到这个文件?在C++中是否有处理unordered_maps的替代方法?

因为它在2011年转移到

如果这两个位置都不在,则会出现一个非常古老的clang,并且它没有unordered_map

 类似资料:
  • 我尝试一个简单的Web服务示例,我得到这个错误,即使我取消注释在文件: 致命错误:在C:\Program Files(x86)\EasyPHP-5.3.9\第2行的www\server.php中找不到类'SoapClient'

  • 问题内容: 我有一个问题,我在Linux服务器上安装了“ Archive_Zip 0.1.1”,但是当我尝试运行脚本来创建zip文件时,却出现了致命错误 致命错误:在…中找不到类 我把代码放在哪里 但找不到类文件。 请告诉我解决方案。我该怎么办才能解决问题?我也将文件放到脚本所在的文件夹中,但是不起作用。 问题答案: 对于要显示的类,PHP需要安装zip扩展名。 有关安装说明,请参见此页面(Lin

  • 这就是错误- 在/users/chetan/.pub-cache/hosted/pub.dartlang.org/webview_flutter-1.0.7/iOS/classes/javascriptchannelhandler.m:5://users/chetan/.pub-cache/hosted/pub.dartlang.org/webview_flutter-1.0.7/iOS/clas

  • 我在iOS中运行flutter应用程序时出错。 Xcode版本:13 模拟器 : iPhone 13 (版本 15.0) 错误: 我试过了: 删除 Podfile.lock 什么都没用

  • 我无法为iOS构建颤动项目,给我的错误如下 尝试 吊舱拆卸 rm ios/颤抖/颤抖。podspec 颤振清洁 扑扑酒吧获取 吊舱安装 清除导出数据 颤振运行 仍然一样,我无法摆脱这个错误。我甚至尝试从pubsec.yaml中删除路径提供程序插件 任何帮助都将非常感谢,因为我已经坚持了24小时

  • 问题内容: 我已经从php.net粘贴了在php中使用memcached 的示例,并且得到了: 我的php.ini中有这个: [memcache] memcache.hash_strategy =“一致” memcache.max_failover_attemps = 100 memcache.allow_failover = 1 这是分别来自php -i和php -m的信息: php -i |