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

Visual Studio 2022中如何为C项目添加外部头文件与源文件?

解决Visual Studio 2022中Project B引用Project A代码的LNK2019/LNK1120错误

你遇到的LNK2019和LNK1120是链接器错误,并非编译错误——头文件已被正确识别(否则会报编译阶段的未声明标识符错误),但链接器找不到ret1()函数的实现代码(即unittest.cpp的编译产物)。以下是两种可行的解决方法:

方案一:直接复用Project A的源文件

  • 右键点击Project B → 添加 → 现有项
  • 找到Project A目录下的unittest.cpp,选中并添加到Project B中
  • 重新编译Project B即可

这种方式适合小型项目,编译时会将unittest.cpp一同编译进Project B的可执行文件。

方案二:将Project A编译为静态库(规范的代码复用方式)

步骤1:修改Project A为静态库项目

  • 右键点击Project A → 属性
  • 在配置属性 → 常规中,将配置类型改为静态库(.lib)
  • 点击确定,重新编译Project A,输出目录会生成对应的.lib文件

步骤2:配置Project B引用静态库

  1. 配置头文件目录(若未完成):

    • 右键点击Project B → 属性 → 配置属性 → C/C++ → 常规
    • 在附加包含目录中添加Project A头文件所在的目录,点击确定
  2. 配置库文件目录:

    • 右键点击Project B → 属性 → 配置属性 → 链接器 → 常规
    • 在附加库目录中添加Project A生成的.lib文件所在目录(通常是Project A的x64/Debug或x64/Release目录),点击确定
  3. 添加依赖库:

    • 右键点击Project B → 属性 → 配置属性 → 链接器 → 输入
    • 在附加依赖项中添加Project A生成的.lib文件名(例如ProjectA.lib),点击确定
  4. 设置编译依赖顺序:

    • 右键点击解决方案 → 项目依赖项
    • 在Project B的依赖项中勾选Project A,确保编译时先生成Project A的库文件,再编译Project B

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:15:38