gpt4 book ai didi

c++ - 如何配置 NAR Maven 项目?

转载 作者:行者123 更新时间:2023-11-28 05:35:13 26 4
gpt4 key购买 nike

我正在尝试使用 nar-maven 在带有 MSVC 的 Windows 上Mavenize 一个 C++ 项目。它是一个共享库。
我已经使用此 archetype 在示例项目上成功测试了 nar-maven .

所以现在,我需要使用 nar-maven-plugin为了一个更大的项目。为了成功编译,我需要添加一些参数(包括、库、预处理器定义……)。这就是我被困的地方。这是我当前的 pom 文件的示例:

<project>

...

<properties>
<skipTests>true</skipTests>
</properties>

<build>
<defaultGoal>integration-test</defaultGoal>
<plugins>
<plugin>
<groupId>com.github.maven-nar</groupId>
<artifactId>nar-maven-plugin</artifactId>
<version>3.5.0</version>
<extensions>true</extensions>
<configuration>
<options>
<option>/D_WINDOWS</option>
<option>/D_WINDLL</option>
<option>...</option>
</options>
<libraries>
<library>
<type>shared</type>
</library>
</libraries>
<tests>
<test>
<name>libblawin</name>
<link>shared</link>
</test>
</tests>

</configuration>
</plugin>
</plugins>
</build>

<dependencies>
...
</dependencies>
</project>

无论我在配置标签中添加什么参数(选项标签、包含标签...),maven 都不会考虑它。事实上,当我寻找用于编译源文件的命令行时(使用 -X 选项和 mvn),不包括在 pom.xml 中添加的选项。
maven使用的命令行:

Executing 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl' with arguments:
''
'/c'
'/nologo'
'/EHsc'
'/DNDEBUG'
'/MD'
'/GR'
'/FdD:\NAR-projects\srt\target\nar\obj\amd64-Windows-msvc\'
'/DWIN32'
'/ID:\NAR-projects\srt\target\nar\obj\amd64-Windows-msvc'
'/ID:\NAR-projects\srt\target\nar\obj\amd64-Windows-msvc'
'/ID:\NAR-projects\srt\src\main\include'
'/IC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include'
'/IC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include'
'/IC:\Program Files (x86)\Windows Kits\8.1\Include\shared'
'/IC:\Program Files (x86)\Windows Kits\8.1\Include\um'
'/IC:\Program Files (x86)\Windows Kits\8.1\Include\winrt'
'/FoD:\NAR-projects\srt\target\nar\obj\amd64-Windows-msvc\libraryExtern.1d1757c3.obj'
'include/interapp/libraryExtern.cpp'

无论如何,我认为我做错了什么,希望您能提供帮助。我需要找到一种方法来根据需要配置我的项目。

最佳答案

我想。

我浏览了 working examples为了看看我的错误在哪里,在这个特定的例子中,imagej-launcher ,我们可以看到它在 c 标签 中添加了所有编译器配置:

            <configuration>
<c>
<name>gcc</name>
<includes>
<include>**/*.c</include>
</includes>
<options>
<option>-DLAUNCHER_VERSION="${project.version}"</option>
<option>-DBUILD_NUMBER="${buildNumber}"</option>
<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>
...

所以我只是添加了一个 cpp 标签并将我的选项放入其中,现在它可以正常工作了:

    <configuration>
<cpp>
<options>
<option>/D_WINDOWS</option>
<option>/D_WINDLL</option>
<option>...</option>
</options>
</cpp>

关于c++ - 如何配置 NAR Maven 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38483120/

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