gpt4 book ai didi

gradle - 如何使用 c 插件在 gradle 中构建 emcc

转载 作者:行者123 更新时间:2023-12-03 02:45:50 26 4
gpt4 key购买 nike

我正在尝试使用 emcc 编译项目使用 gradle 到目前为止还没有找到任何像样的例子来说明它是如何完成的(或者我自己学习)。

到目前为止,我尝试做的是以这种方式设置 clang 的路径:

model {
toolChains {
clang(Clang) {
path "<path-to-emcc>"
}
}
...
}

我收到“找不到 C 编译器 'clang'”。信息。
我尝试的下一件事是创建一个指向 emcc 的 clang 符号链接(symbolic link),但又一次惨败。

最佳答案

你能找到解决方案吗?
我遇到了同样的问题,在查看 Gradle 源代码之后,这似乎是特定于在 Windows 上运行构建的问题:ToolSearchPath.java :

private File findExecutable(OperatingSystem operatingSystem, String name) {
List<File> path = pathEntries.isEmpty() ? operatingSystem.getPath() : pathEntries;
String exeName = operatingSystem.getExecutableName(name);
try {
if (name.contains(File.separator)) {
return maybeResolveFile(operatingSystem, new File(name), new File(exeName));
}
for (File pathEntry : path) {
File resolved = maybeResolveFile(operatingSystem, new File(pathEntry, name), new File(pathEntry, exeName));
因为 String exeName = operatingSystem.getExecutableName(name);行,Gradle 实际上是在寻找 emcc.exe而不是 emcc.bat .
更新@ 2020-07-14
我可以通过制作 these changes 来解决上述问题.
但是现在我遇到了以下更难解决的问题:
> Task :linkDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':linkDebug'.
> java.lang.NullPointerException (no error message)
在调试了 Gradle 自己的代码后,我能够确定这个问题是由 emlink.py 引起的。不处理特殊 -dM -E -v Gradle 的 GccMetadataProvider 时的参数组合用这些参数探测它以确定链接器版本。

关于gradle - 如何使用 c 插件在 gradle 中构建 emcc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56816771/

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