gpt4 book ai didi

c++ - 无法使用 Emscripten 编译 GMP 库(2)

转载 作者:搜寻专家 更新时间:2023-10-31 01:01:07 26 4
gpt4 key购买 nike

我有点新手。我的系统是 OSX。

我已经获得了使用 SDL2 的 emscripten,这非常棒。我用命令编译:

./emcc /Users/elliotmacneille/Projects/the\ simplifier/the\ simplifier/main.cpp -s USE_SDL=2 -s LEGACY_GL_EMULATION=1 -std=c++11 -o money99.html

从 emscripten 目录中的命令行。

现在我想让 GMP 使用它。我的计算机上有头文件 libgmp.a 和 libgmp.10.dylib,但我不知道将它们放在哪里用于 emscripten。我还使用 emscripten 制作了一个 gmp.js,同样不确定将它放在哪里。

每当我尝试编译时,我都会得到这个:

"fatal error: 
'gmp.h' file not found
#include <gmp.h>
^
1 error generated."

头文件应该放在哪里,什么库应该放在哪里?我在 Xcode 中编译 libgmp 没有问题,但我想使用 emscripten。

最佳答案

您必须使用 -I 命令行选项告诉编译器库头​​在哪里,然后使用 -l 命令行选项链接到哪些库.像这样的东西:

emcc myfile.cpp -o myoutput.html -Lpath/to/gmp/include -lgmp

这不是特定于 emscripten 的:这是 GCC 和 LLVM 等 C/C++ 编译器通常的工作方式。您不必为 SDL 执行此操作,因为 it's special !

不过,您将不能只使用 libgmp.alibgmp.10.dylib!那些以 x86 为目标(或者至少它们在您的 Mac 上是这样),并且您希望它们是 LLVM 位码或 JavaScript。似乎没有容易获得的 gmp 端口,所以最简单的可能是 build it yourself and link it into your application .

gmp 通常使用内联汇编构建,但您可以从其构建中禁用它。查看 how this was done for PNaCl inside of naclports 可能会有用,并为您自己的构建做同样的事情。

关于c++ - 无法使用 Emscripten 编译 GMP 库(2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29756984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com