【问题标题】:LNK2019 Error: unresolved external symbolLNK2019 错误:无法解析的外部符号
【发布时间】:2020-07-09 21:05:25
【问题描述】:

编译我的程序时,我在 Visual Studio 中遇到错误。

错误 LNK2019 无法解析外部符号“public: __cdecl Grid::Grid(void)" (??0Grid@@QEAA@XZ) 在函数中引用 主网格 C:\Users\Ryan\Desktop\Dev\Grid\Grid\main.obj 1

错误 LNK2019 未解析的外部符号“public: __thiscall Grid::~Grid(void)" (??1Grid@@QAE@XZ) 在函数中引用 _main Grid C:\Users\Ryan\Desktop\Dev\Grid\Grid\main.obj 1

这个项目在我的大学里运行良好,但在我自己的电脑上却不行,我不确定哪里出了问题。

我的 main.cpp:

#include <iostream>
#include "Grid.h"
using namespace std;

int main(int args, char **argv)
{
   Grid grid;
// grid.LoadGrid("Grid1.txt");
// grid.SaveGrid("OutGrid.txt");

   system("pause");
}

还有我的头文件:

#pragma once

class Grid
{
public:
    Grid();
    ~Grid();

    void LoadGrid(const char filename[]);
    void SaveGrid(const char filename[]);

private:
    int m_grid[9][9];
};

非常感谢任何帮助,谢谢。

【问题讨论】:

标签: c++ linker linker-errors


【解决方案1】:

问题已通过 [error LNK2019: unresolved external symbol "public: __thiscall : constructor issue

上的建议解决

“首先在库项目中右键单击->属性,然后在常规选项卡下,配置类型应为静态库(.lib)。”

感谢大家的回答。

【讨论】:

    【解决方案2】:

    据我了解,您的网格类构造函数和析构函数实现丢失了。你应该检查你的 .cpp 文件,像这样实现

    Grid(){}
    ~ Grid(){}
    

    【讨论】:

    • 他的声明很好,只是缺少定义。您的建议将声明更改为定义。
    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2013-06-15
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    相关资源
    最近更新 更多