Visual Studio的LNK2019错误-无法解析的外部符号

埃罗多夫

我是一个初学者,遇到上述错误。以下是来自三个文件的完整代码ball.h

#ifndef BALL_H
#define BALL_H
namespace
{
    inline constexpr double gravity{ 9.81 };
}
    double getInitialHeight(void);
    double calculateHeight(double, int);
    void printHeight(double, int);
    void calculateAndPrintHeight(double, int);
    void solve(void);

#endif

ball.cpp

#include "ball.h"
#include <iostream>

double getInitialHeight()
{
    std::cout << "Enter the height of the tower in meters ";
    double initialHeight{};
    std::cin >> initialHeight;
    return initialHeight;
}

double calculateHeight(double initialHeight, int secondsPassed)
{
    double distanceFallen{ BALL_H::gravity * secondsPassed * secondsPassed / 2.0 };
    double currentHeight{ initialHeight - distanceFallen };
    return currentHeight;
}

void printHeight(double height, int secondsPassed)
{
    if (height > 0.0)
    {
        std::cout << "At " << secondsPassed << " seconds, the ball is at height\t" << height << " meters.\n";
    }
    else
    {
        std::cout << "At " << secondsPassed << " seconds, the ball is on the ground.\n";
        std::exit(0);
    }


}

void calculateAndPrintHeight(double initialHeight, int secondsPassed)
{
    double height{ calculateHeight(initialHeight, secondsPassed) };
    printHeight(height, secondsPassed);
}

void solve()
{
    const double initialHeight{ getInitialHeight() };
    int secondsPassed{ 0 };
    while (true)
    {
        calculateAndPrintHeight(initialHeight, secondsPassed);
        secondsPassed++;
    }
}

Solution.cpp(解决方案中的主项目文件):

#include <iostream>
#include "ball.h"

int main()
{
    solve();
    return 0;
}

我知道此问题是由于链接器找不到对的引用引起的solve()但是,我不确定如何解决该问题。一种简单的解决方案是仅包含ball.cpp而不是ball.h

#include <iostream>
#include "ball.cpp"

int main()
{
    solve();
    return 0;
}

这段代码有效,但是我想知道如何使用标头,因为我不确定这是否是一个好习惯。

编辑:这是错误列表:

在此处输入图片说明

Barrnet Chou

添加头文件时,可以右键单击Header Files并选择Add->New Item

在此处输入图片说明

添加.cpp文件时,可以右键单击Source Files并选择Add->New Item

在此处输入图片说明

然后,在中添加以下代码Source.cpp

#include <iostream>
#include "ball.h"

int main()
{
    solve();
    return 0;
}

最后,它工作正常。

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google测试:错误LNK2019:Visual Studio 2013无法解析的外部符号

来自分类Dev

错误LNK2019:无法解析的外部符号libcurl Visual Studio

来自分类Dev

C ++-SDL2和OpenGL-Visual Studio错误LNK2019:无法解析的外部符号

来自分类Dev

Visual Studio中的wxwidgets应用程序给出错误“ LNK2019无法解析的外部符号”

来自分类Dev

Visual Studio 2012错误LNK2019:无法解析的外部符号,与正在运行的静态库链接

来自分类Dev

LNK2019:Visual Studio C ++中无法解决的外部符号错误

来自分类Dev

VISUAL STUDIO 2013:错误LNK2019:未解析的外部符号-cuRAND-随机数生成器

来自分类Dev

Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

来自分类Dev

Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

来自分类Dev

Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:无法解析的外部符号“布尔__cdecl

来自分类Dev

Visual Studio 2017 LNK2019:GoogleTestGoogleMock 项目中未解析的外部符号

来自分类Dev

Visual Studio 2013错误LNK2019

来自分类Dev

Visual Studio 2013错误LNK2019

来自分类Dev

收到“错误LNK2019:无法解析的外部符号...”

来自分类Dev

C ++ LNK2019错误:无法解析的外部符号

来自分类Dev

错误:LNK2019:Qt中无法解析的外部符号

来自分类Dev

错误LNK2019:无法解析的外部符号“ public:

来自分类Dev

问题:“错误LNK2019:无法解析的外部符号”

来自分类Dev

错误LNK2019:无法解析的外部符号:: FindWindow()函数

来自分类Dev

错误LNK2019:无法解析的外部符号“ public:__thiscall

来自分类Dev

Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:未解析的外部符号“布尔__cdecl

来自分类Dev

在Visual Studio中构建MATLAB mex文件会给出“函数mexFunction中引用的LNK2019无法解析的外部符号_mexPrintf”吗?

来自分类Dev

Visual Studio生成错误“无法解析的外部符号WinMain”

来自分类Dev

Visual Studio系列如何自己解决LNK2019错误

来自分类Dev

C ++错误错误LNK2019:无法解析的外部符号,语法错误?

来自分类Dev

编译Curl Visual Studio-无法解析的外部符号

来自分类Dev

错误21错误LNK2019:无法解析的外部符号:....在函数:...中引用。

来自分类Dev

错误3错误LNK2019:无法解析的外部符号“ public:void __thiscall

来自分类Dev

C ++ LNK2019无法解析的外部符号stdlib

Related 相关文章

  1. 1

    Google测试:错误LNK2019:Visual Studio 2013无法解析的外部符号

  2. 2

    错误LNK2019:无法解析的外部符号libcurl Visual Studio

  3. 3

    C ++-SDL2和OpenGL-Visual Studio错误LNK2019:无法解析的外部符号

  4. 4

    Visual Studio中的wxwidgets应用程序给出错误“ LNK2019无法解析的外部符号”

  5. 5

    Visual Studio 2012错误LNK2019:无法解析的外部符号,与正在运行的静态库链接

  6. 6

    LNK2019:Visual Studio C ++中无法解决的外部符号错误

  7. 7

    VISUAL STUDIO 2013:错误LNK2019:未解析的外部符号-cuRAND-随机数生成器

  8. 8

    Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

  9. 9

    Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

  10. 10

    Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:无法解析的外部符号“布尔__cdecl

  11. 11

    Visual Studio 2017 LNK2019:GoogleTestGoogleMock 项目中未解析的外部符号

  12. 12

    Visual Studio 2013错误LNK2019

  13. 13

    Visual Studio 2013错误LNK2019

  14. 14

    收到“错误LNK2019:无法解析的外部符号...”

  15. 15

    C ++ LNK2019错误:无法解析的外部符号

  16. 16

    错误:LNK2019:Qt中无法解析的外部符号

  17. 17

    错误LNK2019:无法解析的外部符号“ public:

  18. 18

    问题:“错误LNK2019:无法解析的外部符号”

  19. 19

    错误LNK2019:无法解析的外部符号:: FindWindow()函数

  20. 20

    错误LNK2019:无法解析的外部符号“ public:__thiscall

  21. 21

    Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:未解析的外部符号“布尔__cdecl

  22. 22

    在Visual Studio中构建MATLAB mex文件会给出“函数mexFunction中引用的LNK2019无法解析的外部符号_mexPrintf”吗?

  23. 23

    Visual Studio生成错误“无法解析的外部符号WinMain”

  24. 24

    Visual Studio系列如何自己解决LNK2019错误

  25. 25

    C ++错误错误LNK2019:无法解析的外部符号,语法错误?

  26. 26

    编译Curl Visual Studio-无法解析的外部符号

  27. 27

    错误21错误LNK2019:无法解析的外部符号:....在函数:...中引用。

  28. 28

    错误3错误LNK2019:无法解析的外部符号“ public:void __thiscall

  29. 29

    C ++ LNK2019无法解析的外部符号stdlib

热门标签

归档