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

如何在Visual Studio中配置C++项目间的相互引用

解决C++项目复用为库的「unresolved external symbol」问题

第一步:把你的小型项目编译成库文件

在VS2022里直接这么操作:

  • 右键原项目 → 属性 → 配置属性 → 常规 → 项目默认值 → 配置类型,选「静态库(.lib)」或者「动态库(.dll)」
  • 删掉原项目里的main函数——库不需要入口函数,留着反而会冲突
  • 重新编译原项目,输出目录会生成对应的.lib(静态库)或者.lib+.dll(动态库)文件

第二步:给新项目配置链接依赖

省心方案(同解决方案内)

  • 在解决方案里右键新项目 → 添加 → 引用 → 勾选你的库项目
  • 这一步VS会自动处理头文件路径和库的链接,不用手动调一堆配置

手动配置(库不在同解决方案)

  • 右键新项目 → 属性 → 配置属性 → 链接器 → 常规 → 附加库目录:填你的库项目生成的.lib所在路径,比如$(SolutionDir)MyLib\x64\Debug
  • 接着到「链接器 → 输入 → 附加依赖项」,把库的.lib文件名加进去,比如MyLib.lib

第三步:实现功能文件夹的直接引用

要做到#include "Math/xxx.h"这种便捷调用:

  • 把库项目的根目录设为新项目的「附加包含目录」,而不是单个子文件夹
  • 库项目里按功能分文件夹,比如Math、Map,每个文件夹下放对应的头文件和源文件
  • 如果是动态库,要在类或函数前加__declspec(dllexport)导出(静态库不用这步)

必踩坑提醒

  • 新项目和库项目的Debug/Release配置、x64/x86平台必须完全一致,不然肯定会出链接错误
  • 用动态库的话,运行新项目时要把生成的.dll文件放到新项目的输出目录,或者加到系统环境变量里

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:54:26