遭遇链接器错误LNK2019,未修改链接器目录却无法解决
关于LNK2019链接错误的解决办法
错误本质
LNK2019是MSVC编译器的链接器错误,核心原因是链接器找不到你调用的函数的实际实现代码。看你提供的代码,仅声明了int SmallerOf(int x, int y);(告诉编译器函数的名称、参数类型和返回值类型),但完全没有编写该函数的具体实现(函数体),导致链接阶段无法找到对应函数的二进制执行代码,触发报错。
解决步骤
- 补充函数实现:在代码中添加
SmallerOf函数的具体逻辑,示例如下:
int SmallerOf(int x, int y) { return (x < y) ? x : y; }
这段代码可以放在TestCase函数的上方或下方,只要位于同一个源文件内,或者在其他已被正确添加到项目的源文件中均可。
- 检查项目文件完整性:如果函数实现写在单独的
.c文件中,需确保该文件已添加到Visual Studio项目中(右键项目 -> 添加 -> 现有项,选中对应的.c文件),否则链接器仍会找不到函数实现。
额外提示
你的测试代码存在逻辑小问题:expected和actual的赋值顺序颠倒了。正确写法应为:
int actual = SmallerOf(x, y); int expected = 3;
这样判断逻辑才符合“实际结果对比预期结果”的测试规范。
内容的提问来源于stack exchange,提问作者user20074138
相关产品推荐
相关产品推荐

