老实说,我一直在尝试构建用于网络的Qhull。我完全迷路了。我已经安装了Emscripten SDK,并尝试阅读指南。据我所知,似乎有两种方法可以编译像这样的大型项目:我可以将文件作为参数传递给emcc
,或者我可以制作自己的自定义 Makefile 以某种方式为我做这件事。但我既不知道如何将多个文件作为参数传递,也不知道 Makefile 是如何工作的。
在网上搜索之后,我设法找到了旧 Qhull 版本的这个端口,它带有自己的 Makefile:
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 上运行。
那么,我该怎么做才能让最新版本的 Qhull 在 Javascript 中运行?
我使用的是 Windows,我当前的 IDE 是 Dev-C++。