0

В очередной раз сталкиваюсь с подобным сообщением об ошибке:

Ошибка LNK2019 ссылка на неразрешенный внешний символ _WinMain@16 в функции "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ).
A3 C:\Users\arsenij\source\repos\prog_tech\MSVCRTD.lib(exe_winmain.obj) 1

И сразу вслед за этим ошибка LNK1120: неразрешённых внешних элементов 1 Вот пример кода:

#ifndef _RECTANGLE_HPP_
#define _RECTANGLE_HPP_
#include "shape.hpp"
#include <cassert>

namespace alekseev { class Rectangle : public Shape { public: Rectangle(const double width, const double height, const point_t& pos);

    void move(const point_t&amp; pos) override;
    void move(const double dx, const double dy) override;

    rectangle_t getFrameRect() const override;
    double getArea() const override;

    point_t getPos() const;
    double getWidth() const;
    double getHeight() const;
private:
    double width_;
    double height_;
    point_t pos_;
};

}

#endif

Main:

#include <iostream>
#include "../common/circle.hpp"
#include "../common/triangle.hpp"
#include "../common/rectangle.hpp"

int main() { return 0; }

Rectangle.cpp:

#include "rectangle.hpp"

alekseev::Rectangle::Rectangle(const double width, const double height, const point_t& pos) : width_(width), height_(height), pos_(pos) { assert((width > 0) && (height > 0) && "Wrong args for rectangle"); }

void alekseev::Rectangle::move(const point_t& pos) { pos_ = pos; }

void alekseev::Rectangle::move(const double dx, const double dy) { pos_.x += dx; pos_.y += dy; }

alekseev::rectangle_t alekseev::Rectangle::getFrameRect() const { rectangle_t tempRect; tempRect.height = height_; tempRect.width = width_; tempRect.pos = pos_; return( tempRect ); }

double alekseev::Rectangle::getArea() const { return ( width_ * height_ ); }

alekseev::point_t alekseev::Rectangle::getPos() const { return ( pos_ ); }

double alekseev::Rectangle::getWidth() const { return ( width_ ); }

double alekseev::Rectangle::getHeight() const { return ( height_ ); }

Причём на MinGWшном компиляторе всё работает. Здесь я уже не знаю что делать, и чувствую, что моих знаний тут явно недостаточно. В интернетах видел людей с такой же проблемой, то что они советуют не помогло надеюсь на понимание

barahsan
  • 1
  • 1
  • Поменяйте свойства проекта - на консольное приложение... – Harry Feb 10 '21 at 11:53
  • Вы бы хоть попытались почитать что там советуют. https://ru.stackoverflow.com/questions/250786/%d0%a1%d1%81%d1%8b%d0%bb%d0%ba%d0%b0-%d0%bd%d0%b0-%d0%bd%d0%b5%d1%80%d0%b0%d0%b7%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%bd%d1%8b%d0%b9-%d0%b2%d0%bd%d0%b5%d1%88%d0%bd%d0%b8%d0%b9-%d1%81%d0%b8%d0%bc%d0%b2%d0%be%d0%bb-winmain16 – Никита Самоуков Feb 10 '21 at 11:55
  • @Harry, и правда, чувствую себя глупо, спасибо большое – barahsan Feb 10 '21 at 11:57

0 Answers0