首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Emscripten将Qhull构建到Javascript中?

如何使用Emscripten将Qhull构建到Javascript中?
EN

Stack Overflow用户
提问于 2020-10-31 11:32:07
回答 1查看 31关注 0票数 0

老实说,我一直在尝试构建在网络上使用的Qhull。我完全迷路了。我已经安装了Emscripten SDK,并且我已经试着阅读了指南。据我所知,似乎有两种方法可以编译像这样的大型项目:我可以将文件作为参数传递给emcc,或者我可以创建自己的自定义Makefile,以某种方式为我做这件事。但我既不知道如何将多个文件作为参数传递,也不知道Makefile是如何工作的。

在网上搜索后,我设法找到了this port of an old Qhull version,它有自己的Makefile:

代码语言:javascript
复制
QHULL_PATH = ./src/libqhull
TARGET = qhull.js
EMCC = ../emscripten/emcc
PREJS = ./src/pre.js
POSTJS = ./src/post.js
MAIN = ./src/main.c
EXPORTJS = "['_run_qhull']"
CFLAGS = -O1

SOURCES := $(shell find $(QHULL_PATH) -type f -name '*.c')

all: $(TARGET)
    @echo  "Done"

$(TARGET): $(SOURCES) $(PREJS) $(POSTJS) $(MAIN)
    $(EMCC) $(CFLAGS) $(SOURCES) $(MAIN) -s EXPORTED_FUNCTIONS=$(EXPORTJS) --pre-js $(PREJS) --post-js $(POSTJS) -o $(TARGET)

clean:
    rm -rf $(TARGET)

不幸的是,Makefile是Unix格式的,这是我在经历了大约两个小时的挫折后才弄明白的。我不知道如何让它在Windows上工作。

那么,我该怎么做才能在Javascript中运行最新版本的Qhull呢?

我使用的是Windows,我当前的IDE是Dev-C++。

EN

回答 1

Stack Overflow用户

发布于 2020-11-01 04:52:51

因此,如果您是编译新手,使用emscripten编译大型库将是一个巨大的挑战。我建议通过emscripten docs on compiling阅读。

看起来Qhull同时有一个MakeFile和一个CMakeLists.txt。我建议你试试CMake。

在linux上使用CMake和emscripten的典型方法是这样的:

代码语言:javascript
复制
mkdir embuild
cd embuild
emcmake cmake ..
emmake make

我从来没有在Windows上编译过(我使用linux),但我相信(至少在使用Cmake时)它是相似的。

这可能不会在第一次尝试时起作用。

如果(经过多次尝试)你不能让它工作,你可以尝试用emcc手动编译qhull。它一开始看起来很难,但从长远来看,我通常会得到更少的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64618125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档