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引用静态库
配置头文件目录(若未完成):
- 右键点击Project B → 属性 → 配置属性 → C/C++ → 常规
- 在附加包含目录中添加Project A头文件所在的目录,点击确定
配置库文件目录:
- 右键点击Project B → 属性 → 配置属性 → 链接器 → 常规
- 在附加库目录中添加Project A生成的
.lib文件所在目录(通常是Project A的x64/Debug或x64/Release目录),点击确定
添加依赖库:
- 右键点击Project B → 属性 → 配置属性 → 链接器 → 输入
- 在附加依赖项中添加Project A生成的
.lib文件名(例如ProjectA.lib),点击确定
设置编译依赖顺序:
- 右键点击解决方案 → 项目依赖项
- 在Project B的依赖项中勾选Project A,确保编译时先生成Project A的库文件,再编译Project B
内容的提问来源于stack exchange,提问作者CodeSocke
相关产品推荐
相关产品推荐

