maven - 无法使用 maven-nar 插件构建 C/C++ 项目

标签 maven maven-nar-plugin

我正在尝试使用 maven、cygwin 和 gcc 在 Windows 7 上设置一个带有空函数(.c 和 .h 文件)的简单项目。以下是有关我的环境的详细信息:

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 22:51:28+0900)
Maven home: C:\Program Files\apache-maven-3.0.5
Java version: 1.6.0_37, vendor: Sun Microsystems Inc.
Java home: C:\Progra~1\Java\jdk1.6.0_37\jre
Default locale: ko_KR, platform encoding: MS949
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
gcc (GCC) 4.5.3

当我尝试使用 maven-nar 插件进行构建时,出现以下错误:
$ mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building test-maven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ test-maven ---
[INFO]
[INFO] --- maven-nar-plugin:2.1-SNAPSHOT:nar-validate (default-nar-validate) @ test-maven ---
[INFO] Using AOL: x86-Windows-msvc
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.600s
[INFO] Finished at: Thu May 30 18:03:18 KST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-nar-plugin:2.1-SNAPSHOT:nar-validate (default-nar-validate) on project test-maven: Cannot deduce version number from: -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我用谷歌搜索过,这似乎与 maven 没有找到 gcc 有关。编译器。
Cannot deduce version number from: -> [Help 1]
mvn 的输出命令还表明 maven 正在尝试使用 msvc 构建我的项目这在我的机器上不可用。
[INFO] Using AOL: x86-Windows-msvc

我有 gcc我的路径等中的编译器,并且我尝试遵循 this very old thread 中建议的一些步骤.

有谁知道如何克服这个问题?如果我进错了论坛,有人可以指出我正确的论坛吗?

最佳答案

是的,该错误是由路径上的命令行工具不可用引起的。但是,在这种情况下,由于您的 AOL 是 x86-Windows-msvc , 相关命令行工具为 link ,不是 gcc . (您可以在 the source code 中看到这一点。)

当然,您根本不想使用 MSVC 编译器,因此您不需要 link无论如何,在你的道路上。使用 gcc相反,您需要在 maven-nar-plugin 中的 POM 中配置它。配置。这是一个示例配置(来自 this project ,您当然需要根据需要进行调整):

<configuration>
    <c>
        <name>gcc</name>
        <includes>
            <include>**/*.c</include>
        </includes>
        <options>
            <option>-I${JAVA_HOME}/include</option>
            <option>${java.os.include}</option>
            <option>${stack.protector.option}</option>
            <option>${architecture.option}</option>
            <option>${subsystem.option}</option>
            <option>${debug.option}</option>
        </options>
    </c>
    <linker>
        <name>gcc</name>
        <options>
            <option>${architecture.option}</option>
            <option>${subsystem.option}</option>
        </options>
        <sysLibs>
            <sysLib>
                <name>${libdl.name}</name>
            </sysLib>
        </sysLibs>
    </linker>
    <libraries>
        <library>
            <type>executable</type>
            <!-- <run>true</run> -->
            <subSystem>gui</subSystem>
        </library>
    </libraries>
</configuration>

关于maven - 无法使用 maven-nar 插件构建 C/C++ 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16832060/

相关文章:

maven - 如何在 Build.scala 中包含带有分类器的依赖项

java - 正则表达式 cucumber 小 cucumber 用于数字 float

java - Maven pom.xml 参数将根据值安装不同的依赖项

c++ - 使用 Maven NAR 插件对 ARM 进行交叉编译

java - maven-nar-plugin 和依赖模块中的测试

java - 如何禁用 sql-maven-plugin 文件复制到临时文件夹?

java - Maven 库在更多具有不同依赖项的项目中使用

java - 如何在maven项目中添加jnetpcap作为依赖项?

java - 找不到maven nar插件创建的依赖项

java - Maven NAR 插件 + webapp 中的 Spring boot,在 Tomcat 中加载 .nar Artifact