在可视化解决方案 c++ 中获取链接器错误

Getting linker error in visual solution c++

本文关键字:链接 错误 获取 可视化 解决方案 c++      更新时间:2023-10-16

一个项目有两个文件 Hello.h 和 Hello .cpp

你好。

#include <string>
#include <iostream>
class Hello{
    void print ();
}

你好.cpp

#include <Hello.h>
    void Hello:: print (){
    std::cout << "hello";
}

主.cpp

#include "Hello.h"
int main(){
    Hello hl;
    hl.print();
}

获取要打印的未定义引用。在视觉工作室中如何设置要链接的对象文件?

我在这里看到两件事(您面临的未定义引用是由于第一点(:

  1. Hello.cpp 中,您已将标头包含在 #include <Hello.h> 而不是 #include "Hello.h" 中。当我们想要包含用户创建的头文件时,后者是我们应该做的,除非您已将头文件添加到系统头列表中(我假设您没有这样做(。有关详细信息,请参阅包含语法。

  2. 默认情况下,类会将其成员设为私有。因此,如果要访问函数print(),则应将其指定为类的公共成员函数。这将抛出错误:"void Hello::p rint(("在此上下文中是私有的,但由于上述要点,您没有得到这一点。