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

Posted

技术标签:

【中文标题】Emscripten:致命错误:找不到“tr1/unordered_map”文件【英文标题】:Emscripten: fatal error: 'tr1/unordered_map' file not found 【发布时间】:2021-03-19 13:49:41 【问题描述】:

所以我正在尝试使用 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,因为我在 Stack Overflow 问题中遇到了同样的错误:C++ error: 'unordered_map' does not name a type

有人可以帮帮我吗?

【问题讨论】:

你为什么要包含一大堆不必要的东西?你只使用&lt;iostream&gt; 【参考方案1】:

为什么 emcc 找不到这个文件?是否有另一种方法可以在 C++ 中处理 unordered_maps?

因为它在 2011 年移至 &lt;unordered_map&gt;

如果两个地方都没有,那你有一个很老的clang,它没有unordered_map

【讨论】:

是的,我不知道为什么这对我之前不起作用,但它确实在 25 分钟后返回。我感谢准确的指导(以及在此答案之前我不知道的原因),但肯定会帮助我,谢谢您的宝贵时间!

以上是关于Emscripten:致命错误:找不到“tr1/unordered_map”文件的主要内容,如果未能解决你的问题,请参考以下文章

颤振:“致命错误:找不到模块'位置'”Xcode找不到模块

致命错误:找不到类“Modelmyaccount”

Laravel - 致命错误:未捕获的错误:找不到类'Auth'

致命错误:在中找不到类 'Dotenv\Dotenv'

致命错误:未捕获的错误:找不到类“App\Config”

“PHP 致命错误:找不到类 'HttpRequest'”