可以使用MSBuild在ARM下构建C ++项目吗? [英] Can MSBuild be used to build a C++ project under ARM?

查看:69
本文介绍了可以使用MSBuild在ARM下构建C ++项目吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在测试使用MSBuild对Windows Phone和Windows Store执行现有C ++项目的ARM构建的可行性.在带有VS2012的Windows 7上,我打开了Visual Studio 2012 ARM开发人员命令提示符.然后我试着看会发生什么:

I'm testing the feasibility of using MSBuild to perform an ARM build of an existing C++ project for Windows Phone and Windows Store. On Windows 7 with VS2012, I opened a Visual Studio 2012 ARM Developer Command Prompt. Then I tried it to see what would happen:

C:\cryptopp>msbuild /t:Build /p:Configuration=Debug;Platform=ARM cryptlib.vcxproj
Microsoft (R) Build Engine version 4.6.1055.0

Build started 10/6/2016 1:11:47 PM.
The target "Midl" listed in a BeforeTargets attribute at "C:\Program Files (x86
)\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations\masm.targets (28,5)" does
 not exist in the project, and will be ignored.
The target "CustomBuild" listed in an AfterTargets attribute at "C:\Program Fil
es (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations\masm.targets (29,5
)" does not exist in the project, and will be ignored.
Project "C:\cryptopp\cryptlib.vcxproj" on node 1 (Build target(s)).
C:\cryptopp\cryptlib.vcxproj : error MSB4057: The target "Build" does not exist 
in the project.
Done Building Project "C:\cryptopp\cryptlib.vcxproj" (Build target(s)) -- FAILE
D.

Build FAILED.

"C:\cryptopp\cryptlib.vcxproj" (Build target) (1)
->
  C:\cryptopp\cryptlib.vcxproj : error MSB4057: The target "Build" does not exi
st in the project.

    0 Warning(s)
    1 Error(s)

我也很累将以下内容添加到cryptlib.vcxproj中,但这导致了相同的错误.

I also tired adding the following to cryptlib.vcxproj, but it resulted in the same error.

<ProjectConfiguration Include="Debug|ARM">
  <Configuration>Debug</Configuration>
  <Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
  <Configuration>Release</Configuration>
  <Platform>ARM</Platform>
</ProjectConfiguration>

基于以上错误,我不确定MSBuild是否支持ARM或其他错误.在带有VS2013的Windows 8上进行测试时,我得到类似的结果.相似的结果是另一个失败,并带有不同的错误消息.

Based on the errors above, I'm not sure if MSBuild supports ARM or if something else is wrong. I get similar results when testing on Windows 8 with VS2013. The similar result is another failure with a different error message.

错误消息 The target "Build" does not exist in the project 是否表示MSBuild不支持ARM?可以使用MSBuild在ARM下构建C ++项目吗?

Does the error message The target "Build" does not exist in the project mean MSBuild does not support ARM? Can MSBuild be used to build a C++ project under ARM?

推荐答案

是的,这是绝对可能的.

Yes, this is absolutely possible.

libvpx 的构建系统会生成vcxproj/sln文件,包括对ARM平台的支持,这些都可以用msbuild.exe构建或在Visual Studio中打开.

The build system for libvpx generates vcxproj/sln files, including support for the ARM platform, and these can be built both with msbuild.exe or opened in Visual Studio.

可以在 https://chromium.googlesource.com/webm/libvpx/+/8b5eddf709b/build/make/gen_msvs_vcxproj.sh .如果您想自己尝试一下(看一下实际生成的项目文件),请克隆libvpx,并在MSYS Shell内,在MSYS外壳之外的目录中生成Visual Studio项目文件(以Visual Studio 2012为目标). libvpx目录):

The script that generates the project files can be found at https://chromium.googlesource.com/webm/libvpx/+/8b5eddf709b/build/make/gen_msvs_vcxproj.sh. If you want to try it out for yourself (to look at the actual generated project files), clone libvpx, and generate the visual studio project files (targeting Visual Studio 2012) like this (within an MSYS shell, in a directory outside of the libvpx directory):

../libvpx/configure --target=armv7-win32-vs11
make

(如果仅使用./configure在libvpx目录中运行此命令,也可能会起作用,但我仅在单独的目录中对其进行了验证.)

(It might also work if you just run this within the libvpx directory with ./configure, but I only verified it in a separate directory.)

如果在路径中找到,make步骤还将调用msbuild.exe.如果没有,请打开一个单独的外壳,在该外壳中放置msbuild.exe路径,并按以下方式构建它:

The make step will also invoke msbuild.exe if found in the path. If not, open a separate shell where you've got msbuild.exe in the path, and build it like this:

msbuild vpx.sln -m -t:Build -p:Configuration=Release -p:Platform=ARM

这篇关于可以使用MSBuild在ARM下构建C ++项目吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆