Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для DanJan
8 / 14 / 0
Регистрация: 24.07.2018
Сообщений: 103

Ошибки LNK2001, LNK1120

03.10.2018, 20:32. Показов 1790. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, делаю консольную игру и тут две ошибки сразу:

Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка LNK2001 неразрешенный внешний символ ""public: static char (* Map::world)[96]" (?world@Map@@2PAY0GA@DA)" DayMarsRemake D:\Даниил\Action\DayMarsRemake\DayMarsRe make\main.obj 1


Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка LNK1120 неразрешенных внешних элементов: 1 DayMarsRemake D:\Даниил\Action\DayMarsRemake\x64\Debug \DayMarsRemake.exe 1


Создал пустой проект и переписал свой ранний код. Вот код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
bool run = true;
void gotoxy(int x, int y) {
    COORD scrn;
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    scrn.X = x; scrn.Y = y;
    SetConsoleCursorPosition(hOutput, scrn);
}
 
class Map {
public:
    static const int width = 48;
    static const int height = 96;
    static const int widthRoom = 12;
    static const int heightRoom = 24;
    static char world[width][height];
    static void generate() {
        for (int i = 0; i < width; i++) {
            for (int j = 0; j < height; j++) {
                world[i][j] = '.'; // значение клетки по умолчанию
                if (rand() % 50 == 0) // шанс создать метал 1/50
                    world[i][j] = 'M';
                if (rand() % 30 == 0) // шанс создать блок 1/30
                    world[i][j] = '#';
            }
        }
    }
    static void drawRoom(int X, int Y) {
        //               ^^^^^^^^^^^^
        // координаты одной из точки комнаты которую надо нарисовать,
        // в нашем случае это координаты игрока и рисовать будем комнату с ним
        gotoxy(0, 0);
        // находим частное от деления - номер комнаты и находим ее край
        // потом рисуем все до края друой комнату, номер которой на 1 больше
        for (int i = (int)(X / widthRoom) * widthRoom; i < (int)(X / widthRoom + 1) * widthRoom; i++) {
            for (int j = (int)(Y / heightRoom) * heightRoom; j < (int)(Y / heightRoom + 1) * heightRoom; j++) {
                cout << world[i][j];
            }
            cout << "\n";
        }
    }
};
 
class Player {
private:
    int x;
    int y;
    int metal;
    int sign;
public:
    int getX() { return x; };
    int getY() { return y; };
    Player(int X, int Y, char Sign) {
        x = X;
        y = Y;
        sign = Sign;
    };
    void actionXY(int addX, int addY) {
        if ((x + addX >= 0) && (x + addX <= Map::width - 1) && (y + addY >= 0) && (y + addY <= Map::height - 1)) {
            switch (Map::world[x + addX][y + addY]) {
            case '.':
                x += addX;
                y += addY;
                break;
            case '#':
                break;
            case 'M':
                metal += 1;
                Map::world[x + addX][y + addY] = '.';
                break;
            }
        }
    };
    void drawPlayer() {
        // находим модуль координаты, это будет его координаты отностельно комнаты
        gotoxy(y % Map::heightRoom, x % Map::widthRoom);
        cout << sign;
        gotoxy(Map::height - 2, Map::width - 1);
    };
    void drawUI() {
        gotoxy(0, Map::widthRoom);
        cout << "M: " << metal;
    }
};
 
int main() {
    Player player(0, 0, (char)1);
    Map::drawRoom(player.getX(), player.getY());
    player.drawPlayer();
    player.drawUI();
 
    cin.get();
 
    return 0;
}
В C++ новичок, информацию в интернете по теме ошибок не нашел или не понял. Буду рад, если поможете с проблемой.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2018, 20:32
Ответы с готовыми решениями:

Ошибка LNK2001 и LNK1120
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; const double dt=1e-3; const double g=9.81; double fly(double U,...

Ошибка LNK2001-LNK1120
Ошибка LNK2001 эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы &quot;_main&quot; MyForm1 LINK 1 Ошибка LNK1120 эхЁрчЁх°хээ√ї тэх°эшї ¤ыхьхэЄют:...

Разбор Ошибки LNK1120
Как посмотреть что за неразрешенные элементы ? P/s/ Вообще вопрос вытек от сюда...

2
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12935 / 6802 / 1821
Регистрация: 18.10.2014
Сообщений: 17,215
03.10.2018, 20:35
Ещё одни unresolved external symbol
Не удается присвоить значение статическому полю класса
0
 Аватар для DanJan
8 / 14 / 0
Регистрация: 24.07.2018
Сообщений: 103
03.10.2018, 21:24  [ТС]
Спасибо, решил одну проблему, одновременно решилась вторая)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.10.2018, 21:24
Помогаю со студенческими работами здесь

Ошибки lnk2001
Здравствуйте, компилю проект, код без ошибок, но при компиляции выходит. #include &lt;cstdio&gt; #include &quot;stdafx.h&quot; ...

Ошибки LNK2001
Здравствуйте! Подскажите, как исправить ошибки: Error 7 error LNK2001: unresolved external symbol &quot;public: static struct...

Ошибки LNK2001
Всем привет! Возникают ошибки линкования, я не знаю почему? P.S. использую паттерн &quot;Декоратор&quot; Код функции main#include...

Ошибки LNK2001 в библиотеках
Добрый день! Подключил библиотеку SFML к проекту, и в результате получил такие ошибки. Причем, используя Visual Studio 2008 ошибки не...

Ошибки LNK2001 и С2664 в Visual Studio 2008
Здравствуйте! При написании простой программы запуска Блокнота у меня возникла проблема с Кодировкой. При включенном параметре...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru