首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用maven-nar插件生成C/C++项目

无法使用maven-nar插件生成C/C++项目
EN

Stack Overflow用户
提问于 2013-05-30 17:09:02
回答 1查看 4.4K关注 0票数 4

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

代码语言:javascript
复制
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插件构建时,我得到以下错误:

代码语言:javascript
复制
$ 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编译器有关。

代码语言:javascript
复制
Cannot deduce version number from: -> [Help 1]

mvn命令的输出还表明,maven正在尝试使用我的机器上不可用的msvc构建我的项目。

代码语言:javascript
复制
[INFO] Using AOL: x86-Windows-msvc

我将gcc编译器放在path等文件中,并尝试遵循this very old thread中建议的一些步骤。

有人知道如何克服这个问题吗?如果我在错误的论坛,谁能给我指给我正确的论坛?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-01 06:34:41

是的,该错误是由于命令行工具在路径上不可用而导致的。然而,在本例中,由于您的AOL是x86-Windows-msvc,因此相关的命令行工具是link,而不是gcc。(您可以在the source code中看到此内容。)

当然,您根本不想使用MSVC编译器,所以无论如何都不应该在路径中使用link。要使用gcc,您需要在maven-nar-plugin配置的POM中对其进行配置。下面是一个示例配置(来自this project,您当然需要根据需要进行调整):

代码语言:javascript
复制
<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>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16832060

复制
相关文章

相似问题

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