xmake-io / xmake

🔥 A cross-platform build utility based on Lua
https://xmake.io
Apache License 2.0
10.06k stars 785 forks source link

如何给vs生成android平台的工程项目 #5535

Open WooZoo86 opened 2 months ago

WooZoo86 commented 2 months ago

Xmake Version

xmake v2.9.4+HEAD.e85b001f1

Operating System Version and Architecture

win11 x64

Describe Bug

xmake project -k vsxmake -a "x86,arm,arm64" 这条指令是生成windows可执行模块的架构,如下图 6FA7A662-F8AA-498d-A29B-8AAEA391FBCC vs支持android平台apk和ndk开发,本意是arm应该编译为so,vs却编译成了dll。

Expected Behavior

vs再arm架构下编译为so。

Project Configuration

-- define project set_xmakever("2.9.4") set_project("MMFramework") set_version("0.0.1", {build = "%Y%m%d%H%M"},{soname = true}) set_config("target.kind", "shared") -- 动态库,静态库设置为static add_rules("plugin.vsxmake.autoupdate")

-- add build flags add_rules("mode.release", "mode.debug")

Additional Information and Error Logs

1>------ 已启动生成: 项目: Vehicle, 配置: debug ARM ------ 2>------ 已启动生成: 项目: VCI, 配置: debug ARM ------ 3>------ 已启动生成: 项目: UI, 配置: debug ARM ------ 4>------ 已启动生成: 项目: ECU, 配置: debug ARM ------ 5>------ 已启动生成: 项目: Data, 配置: debug ARM ------ 6>------ 已启动生成: 项目: Core, 配置: debug ARM ------ 1>$xmake config -y -P . -p windows -m debug -a arm -o "build" 2>$xmake config -y -P . -p windows -m debug -a arm -o "build" 3>$xmake config -y -P . -p windows -m debug -a arm -o "build" 4>$xmake config -y -P . -p windows -m debug -a arm -o "build" 5>$xmake config -y -P . -p windows -m debug -a arm -o "build" 6>$xmake config -y -P . -p windows -m debug -a arm -o "build" 1>checking for Microsoft Visual Studio (arm) version ... 2022 1>checking for Microsoft C/C++ Compiler (arm) version ... 19.41.34120 1>checking for Microsoft Visual Studio (x64) version ... 2022 1>checking for Microsoft C/C++ Compiler (x64) version ... 19.41.34120 1>$xmake build -y -P . "Vehicle" 3>$xmake build -y -P . "UI" 2>$xmake build -y -P . "VCI" 4>$xmake build -y -P . "ECU" 5>$xmake build -y -P . "Data" 6>$xmake build -y -P . "Core" 1>[ 43%]: compiling.debug Src\VCI\Src\VCIManager.cpp 1>[ 43%]: compiling.debug Src\VCI\Src\VCIModule.cpp 1>[ 43%]: compiling.debug Src\UI\Src\UIManager.cpp 1>[ 43%]: compiling.debug Src\ECU\Src\ECUManager.cpp 1>[ 43%]: compiling.debug Src\UI\Src\UIModule.cpp 1>[ 43%]: compiling.debug Src\Data\Src\DataManager.cpp 1>[ 43%]: compiling.debug Src\Core\Src\Utility\JsonTool.cpp 1>[ 43%]: compiling.debug Src\Core\Src\MM\Errors.cpp 1>[ 43%]: compiling.debug Src\Core\Src\FxWell\FxWellJson.cpp 1>[ 43%]: compiling.debug Src\Core\Src\Crypt\StringCryptor.cpp 1>[ 43%]: compiling.debug Src\Core\Src\Crypt\FileCryptor.cpp 1>[ 43%]: compiling.debug Src\Core\Src\Crypt\BufferCryptor.cpp 1>[ 43%]: compiling.debug Src\Core\Src\Crypt\AESCryptor.cpp 1>[ 43%]: compiling.debug Src\Core\Src\Crypt\AES.cpp 1>[ 43%]: compiling.debug Src\ECU\Src\ECUModule.cpp 1>[ 43%]: compiling.debug Src\Vehicle\Src\CVVehicleFactory.cpp 1>[ 43%]: compiling.debug Src\Data\Src\DataModule.cpp 1>[ 43%]: compiling.debug Src\Vehicle\Src\CVVehicleBuilder.cpp 1>[ 45%]: compiling.debug Src\Vehicle\Src\CVVehicleImplementor.cpp 1>[ 47%]: compiling.debug Src\Vehicle\Src\PVVehicleBuilder.cpp 1>[ 49%]: compiling.debug Src\Vehicle\Src\PVVehicleFactory.cpp 1>[ 50%]: compiling.debug Src\Vehicle\Src\PVVehicleImplementor.cpp 1>[ 52%]: compiling.debug Src\Vehicle\Src\VehicleAdaptee.cpp 1>[ 54%]: compiling.debug Src\Vehicle\Src\VehicleAdapter.cpp 1>[ 56%]: compiling.debug Src\Vehicle\Src\VehicleBuilder.cpp 1>[ 58%]: compiling.debug Src\Vehicle\Src\VehicleConfig.cpp 1>[ 60%]: compiling.debug Src\Vehicle\Src\VehicleDataSubject.cpp 1>[ 61%]: compiling.debug Src\Vehicle\Src\VehicleEventManager.cpp 1>[ 63%]: compiling.debug Src\Vehicle\Src\VehicleFactory.cpp 1>[ 65%]: compiling.debug Src\Vehicle\Src\VehicleFactoryContext.cpp 1>[ 67%]: compiling.debug Src\Vehicle\Src\VehicleIfcSubject.cpp 1>[ 69%]: compiling.debug Src\Vehicle\Src\VehicleImplementor.cpp 1>[ 70%]: compiling.debug Src\Vehicle\Src\VehicleInstanceContainer.cpp 1>[ 72%]: compiling.debug Src\Vehicle\Src\VehicleJson.cpp 1>[ 74%]: compiling.debug Src\Vehicle\Src\VehicleManager.cpp 1>[ 76%]: compiling.debug Src\Vehicle\Src\VehicleModule.cpp 1>[ 78%]: compiling.debug Src\Vehicle\Src\VehiclePropertySubject.cpp 1>[ 80%]: linking.debug Core.dll 1>EXEC : error : LINK : fatal error LNK1104: 无法打开文件“stdd.lib” 1> 3>[ 81%]: linking.debug Core.dll 1>D:\SDK\xmake\scripts\vsxmake\vsproj\Xmake.targets(99,5): error MSB3073: 命令“...”已退出,代码为 -1。 1>已完成生成项目“Vehicle.vcxproj”的操作 - 失败。 3>EXEC : error : LINK : fatal error LNK1104: 无法打开文件“stdd.lib” 3> 2>[ 81%]: linking.debug Core.dll 2>EXEC : error : LINK : fatal error LNK1104: 无法打开文件“stdd.lib” 2> 4>[ 81%]: linking.debug Core.dll 4>EXEC : error : LINK : fatal error LNK1104: 无法打开文件“stdd.lib” 4> 3>D:\SDK\xmake\scripts\vsxmake\vsproj\Xmake.targets(99,5): error MSB3073: 命令“...”已退出,代码为 -1。 5>[ 81%]: linking.debug Core.dll 3>已完成生成项目“UI.vcxproj”的操作 - 失败。 5>EXEC : error : LINK : fatal error LNK1104: 无法打开文件“stdd.lib” 5> 6>[ 90%]: linking.debug Core.dll 2>D:\SDK\xmake\scripts\vsxmake\vsproj\Xmake.targets(99,5): error MSB3073: 命令“...”已退出,代码为 -1。 2>已完成生成项目“VCI.vcxproj”的操作 - 失败。 6>EXEC : error : LINK : fatal error LNK1104: 无法打开文件“stdd.lib” 6> 4>D:\SDK\xmake\scripts\vsxmake\vsproj\Xmake.targets(99,5): error MSB3073: 命令“...”已退出,代码为 -1。 4>已完成生成项目“ECU.vcxproj”的操作 - 失败。 5>D:\SDK\xmake\scripts\vsxmake\vsproj\Xmake.targets(99,5): error MSB3073: 命令“...”已退出,代码为 -1。 5>已完成生成项目“Data.vcxproj”的操作 - 失败。 6>D:\SDK\xmake\scripts\vsxmake\vsproj\Xmake.targets(99,5): error MSB3073: 命令“...”已退出,代码为 -1。 6>已完成生成项目“Core.vcxproj”的操作 - 失败。 ========== 生成: 0 成功,6 失败,0 最新,0 已跳过 ========== ========== 生成 于 14:57 完成,耗时 20.706 秒 ==========

Issues-translate-bot commented 2 months ago

Bot detected the issue body's language is not English, translate it automatically.


Title: How to generate an android platform project for vs

waruqi commented 2 months ago

不支持,要么生成 vsxmake,然后自己配置额外的 xmake config 参数切到 android

Issues-translate-bot commented 2 months ago

Bot detected the issue body's language is not English, translate it automatically.


Not supported, either generate vsxmake, and then configure additional xmake config parameters yourself to switch to android