You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2019 C++移动端项目如何通过.vcxproj配置动态切换.so库版本

VS 2019 C++移动端项目动态配置.so引用方案

前置准备

先将不同配置、不同平台的.so文件按统一规则归类存放,示例目录结构如下:

项目根目录/
├─ lib/
│  ├─ Debug/
│  │  ├─ ARM/
│  │  │  └─ libtest.so
│  │  ├─ ARM64/
│  │  │  └─ libtest.so
│  │  └─ x86/
│  │     └─ libtest.so
│  └─ Release/
│     ├─ ARM/
│     │  └─ libtest.so
│     ├─ ARM64/
│     │  └─ libtest.so
│     └─ x86/
│        └─ libtest.so
└─ 你的项目.vcxproj

保证文件夹名称和VS IDE中显示的「配置名称」「平台名称」完全匹配。

修改.vcxproj配置

右键项目→卸载项目→右键卸载后的项目→编辑.vcxproj,添加以下配置:

  1. 配置链接器的动态库搜索路径与依赖项
<ItemDefinitionGroup>
  <Link>
    <!-- 用VS内置宏动态匹配当前选中的配置和平台路径 -->
    <AdditionalLibraryDirectories>$(ProjectDir)lib\$(Configuration)\$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    <!-- 填写你需要引入的.so文件名,多个用分号分隔 -->
    <AdditionalDependencies>libtest.so;%(AdditionalDependencies)</AdditionalDependencies>
  </Link>
</ItemDefinitionGroup>
  1. 配置.so自动复制到输出目录
<ItemGroup>
  <!-- 自动匹配当前配置对应的.so文件,编译后复制到输出目录 -->
  <Content Include="$(ProjectDir)lib\$(Configuration)\$(Platform)\libtest.so">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
  <!-- 有多个.so时新增对应Content条目即可 -->
</ItemGroup>

修改完成后保存.vcxproj,重新加载项目即可。

验证方法

  • 切换VS顶部的配置(Debug/Release)和平台选项,打开项目属性→链接器→常规→附加库目录,确认路径已自动匹配到对应目录
  • 编译项目,无链接错误且输出目录中存在对应版本的.so文件即配置生效

常见注意事项

  • 不要使用硬编码的固定路径,所有动态匹配都使用VS内置宏保证兼容性
  • 若.so存放路径不在项目目录内,可将$(ProjectDir)替换为对应路径的宏或绝对路径
  • 若存在架构不匹配的链接报错,优先检查对应目录下的.so架构是否和当前选中的平台一致

内容的提问来源于stack exchange,提问作者Sixjac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:06:04