gpt4 book ai didi

c - 用gradle构建c程序

转载 作者:太空狗 更新时间:2023-10-29 15:32:29 25 4
gpt4 key购买 nike

我是在 gradle 中构建 c/cpp 插件的新手。这是项目结构

.
|-- build.gradle
`-- src
`-- main
`-- c
`-- hello.c

hello.c 的内容

#include <stdio.h>

int main(int argc, char** argv){
printf("Hello World!\n");
return 0;
}

build.gradle 的内容

apply plugin: 'c'

executables {
main {
}
}

当我运行:$ gradle mE 时,出现以下错误

FAILURE: Build failed with an exception.

* Where:
Build file '/home/sujith/Downloads/cpp-examples-master/gradle-c-plugin/03-executable/build.gradle' line: 3

* What went wrong:
A problem occurred evaluating root project '03-executable'.
> Could not find method executables() for arguments [build_aaxd7x5nukew1jgziyan9q177$_run_closure1@57552dfc] on root project '03-executable'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.297 secs

示例项目取自 https://github.com/ysoftdevs/cpp-examples

渐变版本:

$ gradle -version

------------------------------------------------------------
Gradle 2.3
------------------------------------------------------------

Build time: 2015-02-16 05:09:33 UTC
Build number: none
Revision: 586be72bf6e3df1ee7676d1f2a3afd9157341274

Groovy: 2.3.9
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.7.0_67 (Oracle Corporation 24.65-b04)
OS: Linux 3.13.0-24-generic amd64

我错过了什么吗?任何帮助表示赞赏。谢谢

最佳答案

我遇到了同样的问题,即使用 executables { ... } 不起作用并抛出与您提到的相同的错误。可能它被用在旧版本的 gradle 中。

我提到了 gradle docs用于构建 native 二进制文件。

我在 build.gradle 中使用了这段代码:

apply plugin: 'c'

model {
components {
main(NativeExecutableSpec) {}
}
}

并且您的代码应该可以正常工作。

在此之后你可以执行gradle tasks 来了解哪些任务可以被执行。

您可以运行 gradle build 并将您的可执行文件作为 build/binaries/mainExecutable/main 运行。

抱歉,这个答案非常针对您的问题,我可能无法帮助您概括它,因为我仍在学习如何使其适应我的 C 项目。

希望对你有帮助。

编辑:您还可以查看提供的这个惊人示例 here .以此为基础,您可以增强和改进 build.gradle 文件。但这里的一个小问题是它使用了 executables {...}libraries {...} 等,这些可能已被弃用,但它仍然是一本好书.

关于c - 用gradle构建c程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29134071/

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