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

VS2017 C++空项目添加简单类后出现链接器问题求助

解决VS2017空项目中C++类的链接器问题

嘿,我一眼就瞅出你这个链接器报错的问题根源啦!咱们先从代码本身找问题,再核对VS的配置:

1. 代码里的核心错误

你在test.cpp里定义getInfo()函数时,漏掉了类作用域前缀test::,导致这个函数变成了全局函数,而不是test类的成员函数。当你在main.cpp里尝试调用test类的getInfo()成员函数时,链接器找不到对应的类成员实现,自然就报错了。

修正后的test.cpp代码应该是这样:

#include "test.h"
test::test() {}
test::~test() {}
std::string test::getInfo() { return "test"; } // 加上test::前缀,明确是类的成员函数

2. VS2017项目配置检查(空项目容易踩的坑)

因为你用的是空项目模板,有些默认配置需要确认:

  • 确保所有.cpp文件都被加入项目:右键项目 → 添加 → 现有项,把test.cpp和main.cpp都选进去(如果之前没手动添加的话)
  • 确认项目类型是可执行程序:右键项目 → 属性 → 配置属性 → 常规,检查「配置类型」是否为应用程序(.exe)
  • 适配C标准:右键项目 → **属性 → 配置属性 → C/C → 语言**,选择C++11或更高版本(毕竟用到了std::string)

3. 补充main函数的正确调用示例

如果你的main.cpp里还没写完整的调用代码,参考下面的示例:

#include <iostream>
#include <string>
#include "test.h"

int main() {
    test myTest;
    std::cout << myTest.getInfo() << std::endl;
    return 0;
}

做完这些步骤,重新编译运行应该就能正常工作啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:23:35