Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29

Ошибка LNK2019 И LNK1120

27.04.2022, 12:04. Показов 1303. Ответов 15

Студворк — интернет-сервис помощи студентам
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка LNK1120 неразрешенных внешних элементов: 1 ап 5 2 2 D:\LP\AP\ап 5 2 2\x64\Debug\ап 5 2 2.exe 1
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка LNK2019 ссылка на неразрешенный внешний символ "void __cdecl loking(struct date * const,int,int,char const *,...)" (?loking@@YAXQEAUdate@@HHPEBDZZ) в функции main. ап 5 2 2 D:\LP\AP\ап 5 2 2\ап 5 2 2\Source.obj 1

C++
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include <cstring>
#include<time.h>
#include <locale.h>
#include <stdarg.h>
 
#define K 10
 
typedef struct date {
    char date[11];
    char kst[10];
    int dm;
}DATE;
 
 
int GetData(DATE* starr);
void PrintAllData(DATE arr[], int ns, const char* title);
void SortData(DATE arr[], int kst);
int TodeyData();
void loking(DATE arr[], int tod, int kst, const char* typ, ...);
 
int main() {
    system("chcp 1251");
    DATE starr[K];
    int toddate = TodeyData();
    int ks = GetData(starr);
    PrintAllData(starr, ks, "Введені");
    SortData(starr, ks);
    loking(starr, toddate, ks, "is", 3, "Супер");
}
 
int GetData(DATE* starr) {
    int k;
    puts(" Введiть дані (порожнiй рядок для завершення):");
    for (k = 0; k < K; k++) { // цикл введення даних
        printf("\n%2d. Дата(dd.mm.yyyy): ", k + 1);
        if (*gets_s(starr[k].date) == '\0')
            break;
        printf("Кількість: ");
        gets_s((starr + k)->kst);
    }
    return k;
}
 
void PrintAllData(DATE arr[], int ns, const char* title)
{
    DATE* pst;
    printf("\n\n\t\t %s дати :\n\n", title);
    for (pst = arr; pst < arr + ns; pst++) {
        printf("%d %s  %s\n", pst - arr + 1, pst->date, pst->kst);
    }
    puts("");
}
 
void SortData(DATE arr[], int kst) {
    int day, month, year;
    for (int i = 0; i <= kst - 1; i++) {
        int d1 = arr[i].date[0] - 48;
        int d2 = arr[i].date[1] - 48;
 
        if (d1 != 0) {
            day = d1 * 10 + d2;
        }
        else
        {
            day = d2;
        }
 
        int m1 = arr[i].date[3] - 48;
        int m2 = arr[i].date[4] - 48;
        if (m1 != 0) {
            month = m1 * 10 + m2;
        }
        else {
            month = m2;
        }
        int y1 = arr[i].date[6] - 48;
        int y2 = arr[i].date[7] - 48;
        int y3 = arr[i].date[8] - 48;
        int y4 = arr[i].date[9] - 48;
 
        year = y1 * 1000 + y2 * 100 + y3 * 10 + y4;
 
        int all = year * 10000 + month * 100 + day;
        arr[i].dm = all;
        day = 0;
        month = 0;
        year = 0;
    }
}
 
int TodeyData() {
    struct tm* u;
    char s1[11] = { 0 }, s2[9] = { 0 };
    const time_t timer = time(NULL);
    u = localtime(&timer);
    strftime(s1, 80, "%d.%m.%Y %H:%M:%S ", u);
    printf("Сьогоднішня дата: %s\n", s1);
 
    int day = 0, month = 0, year = 0;
 
 
    int d1 = s1[0] - 48;
    int d2 = s1[1] - 48;
 
    if (d1 != 0) {
        day = d1 * 10 + d2;
    }
    else
    {
        day = d2;
    }
 
    int m1 = s1[3] - 48;
    int m2 = s1[4] - 48;
    if (m1 != 0) {
        month = m1 * 10 + m2;
    }
    else {
        month = m2;
    }
    int y1 = s1[6] - 48;
    int y2 = s1[7] - 48;
    int y3 = s1[8] - 48;
    int y4 = s1[9] - 48;
 
    year = y1 * 1000 + y2 * 100 + y3 * 10 + y1;
    int all = year * 10000 + month * 100 + day;
 
    return all;
}
 
void loking(DATE arr[], int tod, int kst, char* typ, ...) {
    char* pt = typ, * pmess;
    int i_numb;
    va_list parg;
 
    va_start(parg, typ);
    while (*pt != '\0') {
        switch (*pt) {
        case 'i': i_numb = va_arg(parg, int);
            if (i_numb != 0) {
                kst = i_numb;
            }
            break;
        case 's': pmess = va_arg(parg, char*);
            printf("\n ** %s **\n ", pmess);
            break;
        }
        pt++;
    }
 
    int k1 = 0;
    int k2 = 0;
    for (int i = 1; i < kst; i++) {
        if (arr[i].dm == tod) {
            printf("\nСтруктура номер %d є  найблищою до сьогодні датою.\n %s   %s", i, arr[i].date, arr[i].kst);
        }
        else {
            if (arr[i].dm < tod) {
                if (arr[i].dm >= arr[k1].dm) {
                    k1 = i;
                }
            }
            if (arr[i].dm > tod) {
                if (arr[i].dm <= arr[k1].dm) {
                    k2 = i;
                }
            }
        }
    }
    if (tod - arr[k1].dm < arr[k2].dm - tod) {
        printf("\nСтруктура номер %d є  найблищою до сьогодні датою.\n %s   %s", k1, arr[k1].date, arr[k1].kst);
    }
    else {
        printf("\nСтруктура номер %d є  найблищою до сьогодні датою.\n %s   %s", k2, arr[k2].date, arr[k2].kst);
    }
    va_end(parg);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2022, 12:04
Ответы с готовыми решениями:

Ошибка LNK2019
Здравствуйте. Помогите пожалуйста. У меня уже глаза замылились и я не вижу ошибку. LNK2019 #include &lt;stdio.h&gt; #include...

Ошибка LNK2019 И LNK1120
Не могу понять .... Файл Output.cpp #include &quot;Header.h&quot; #include &lt;stdio.h&gt; int GetCarData(CAR* arr) { int...

Ошибка LNK2019-LNK1120
#include &quot;pch.h&quot; #include &lt;iostream&gt; using namespace std; class phone { public: int date; //дата int code; //код города ...

15
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
27.04.2022, 12:18
Потому что нет у тебя определения locing с параметром const char* typ
C
1
2
3
void loking(DATE arr[], int tod, int kst, const char* typ, ...);
...
void loking(DATE arr[], int tod, int kst, char* typ, ...) {
0
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29
27.04.2022, 12:44  [ТС]
assemberist, ?
Удалить const?

Добавлено через 22 минуты
Пожалуста , кто понял ошибку исправте... Очень надо
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
27.04.2022, 12:45
Цитата Сообщение от Vitalikus228 Посмотреть сообщение
Удалить const?
Или добавить. Смотри сам что больше подходит.
0
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29
27.04.2022, 12:48  [ТС]
Убрал конст и вот...
Миниатюры
Ошибка LNK2019 И LNK1120  
0
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29
27.04.2022, 12:50  [ТС]
воот
Миниатюры
Ошибка LNK2019 И LNK1120   Ошибка LNK2019 И LNK1120  
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
27.04.2022, 12:51
Цитата Сообщение от Vitalikus228 Посмотреть сообщение
кто понял ошибку
Определение переменных
Определение переменной указывает компилятору, где и какой объем памяти нужно создать для этой переменной. Определение переменных задает тип данных и содержит список одной или нескольких переменных этого типа следующим образом: type variable_list; Здесь type должен быть допустимым типом данных языка C, включая char, w_char, int, float, double, bool или любой объект, определяемый пользователем; а variable_list может состоять из одного или нескольких имен идентификаторов, разделенных запятыми. Ниже показаны некоторые допустимые объявления:
C
1
2
3
4
5
int    i, j, k;
char   c, ch;
float  f, salary;
double d;
// Строка int i, j, k; объявляет и определяет переменные i, j и k; которые инструктируют компилятор создать переменные с именами i, j и k типа int.
Переменные могут быть инициализированы (им присваивается начальное значение) в их объявлении. Блок инициализации состоит из знака равенства, за которым следует константное выражение, как показано ниже:type variable_name = value;

Определение без инициализации: переменные со статической длительностью хранения неявно инициализируются со значением NULL (все байты имеют значение 0); начальное значение всех остальных переменных не определено.

Объявление переменных
Объявление переменной подтверждает компилятору, что существует переменная с заданным типом и именем. Получив такое подтверждение, компилятор может приступить к дальнейшей компиляции, не требуя полной информации о переменной. Определение переменной имеет значение только во время компиляции: компилятору необходимо фактическое определение переменной во время сборки программы.

Объявление переменной полезно при использовании нескольких файлов и определении переменной в одном из файлов, который будет доступен во время сборки программы. Можно использовать ключевое слово extern для объявления переменной в любом месте. Хотя в своей программе вы можете объявлять переменную несколько раз, она должна быть определена только один раз в файле, функции или блоке кода.
0
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29
27.04.2022, 12:52  [ТС]
assemberist, и что я должен тепер изменить?
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
27.04.2022, 12:55
C
1
loking(starr, toddate, ks, (const char*)"is", 3, "Супер");
0
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29
27.04.2022, 12:59  [ТС]
assemberist, сделал вот так
C++
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include <cstring>
#include<time.h>
#include <locale.h>
#include <stdarg.h>
 
#define K 10
 
typedef struct date {
    char date[11];
    char kst[10];
    int dm;
}DATE;
 
 
int GetData(DATE* starr);
void PrintAllData(DATE arr[], int ns, const char *title);
void SortData(DATE arr[], int kst);
int TodeyData();
void loking(DATE arr[], int tod, int kst, const char *typ, ...);
 
int main() {
    system("chcp 1251");
    DATE starr[K];
    int toddate = TodeyData();
    int ks = GetData(starr);
    PrintAllData(starr, ks, "Введені");
    SortData(starr, ks);
    loking(starr, toddate, ks, (const char*)"is", 3, "Супер");
}
 
int GetData(DATE* starr) {
    int k;
    puts(" Введiть дані (порожнiй рядок для завершення):");
    for (k = 0; k < K; k++) { // цикл введення даних
        printf("\n%2d. Дата(dd.mm.yyyy): ", k + 1);
        if (*gets_s(starr[k].date) == '\0')
            break;
        printf("Кількість: ");
        gets_s((starr + k)->kst);
    }
    return k;
}
 
void PrintAllData(DATE arr[], int ns, const char *title)
{
    DATE* pst;
    printf("\n\n\t\t %s дати :\n\n", title);
    for (pst = arr; pst < arr + ns; pst++) {
        printf("%d %s  %s\n", pst - arr + 1, pst->date, pst->kst);
    }
    puts("");
}
 
void SortData(DATE arr[], int kst) {
    int day, month, year;
    for (int i = 0; i <= kst - 1; i++) {
        int d1 = arr[i].date[0] - 48;
        int d2 = arr[i].date[1] - 48;
 
        if (d1 != 0) {
            day = d1 * 10 + d2;
        }
        else
        {
            day = d2;
        }
 
        int m1 = arr[i].date[3] - 48;
        int m2 = arr[i].date[4] - 48;
        if (m1 != 0) {
            month = m1 * 10 + m2;
        }
        else {
            month = m2;
        }
        int y1 = arr[i].date[6] - 48;
        int y2 = arr[i].date[7] - 48;
        int y3 = arr[i].date[8] - 48;
        int y4 = arr[i].date[9] - 48;
 
        year = y1 * 1000 + y2 * 100 + y3 * 10 + y4;
 
        int all = year * 10000 + month * 100 + day;
        arr[i].dm = all;
        day = 0;
        month = 0;
        year = 0;
    }
}
 
int TodeyData() {
    struct tm* u;
    char s1[11] = { 0 }, s2[9] = { 0 };
    const time_t timer = time(NULL);
    u = localtime(&timer);
    strftime(s1, 80, "%d.%m.%Y %H:%M:%S ", u);
    printf("Сьогоднішня дата: %s\n", s1);
 
    int day = 0, month = 0, year = 0;
 
 
    int d1 = s1[0] - 48;
    int d2 = s1[1] - 48;
 
    if (d1 != 0) {
        day = d1 * 10 + d2;
    }
    else
    {
        day = d2;
    }
 
    int m1 = s1[3] - 48;
    int m2 = s1[4] - 48;
    if (m1 != 0) {
        month = m1 * 10 + m2;
    }
    else {
        month = m2;
    }
    int y1 = s1[6] - 48;
    int y2 = s1[7] - 48;
    int y3 = s1[8] - 48;
    int y4 = s1[9] - 48;
 
    year = y1 * 1000 + y2 * 100 + y3 * 10 + y1;
    int all = year * 10000 + month * 100 + day;
 
    return all;
}
 
void loking(DATE arr[], int tod, int kst, char *typ, ...) {
    char* pt = typ, * pmess;
    int i_numb;
    va_list parg;
 
    va_start(parg, typ);
    while (*pt != '\0') {
        switch (*pt) {
        case 'i': i_numb = va_arg(parg, int);
            if (i_numb != 0) {
                kst = i_numb;
            }
            break;
        case 's': pmess = va_arg(parg, char*);
            printf("\n ** %s **\n ", pmess);
            break;
        }
        pt++;
    }
 
    int k1 = 0;
    int k2 = 0;
    for (int i = 1; i < kst; i++) {
        if (arr[i].dm == tod) {
            printf("\nСтруктура номер %d є  найблищою до сьогодні датою.\n %s   %s", i, arr[i].date, arr[i].kst);
        }
        else {
            if (arr[i].dm < tod) {
                if (arr[i].dm >= arr[k1].dm) {
                    k1 = i;
                }
            }
            if (arr[i].dm > tod) {
                if (arr[i].dm <= arr[k1].dm) {
                    k2 = i;
                }
            }
        }
    }
    if (tod - arr[k1].dm < arr[k2].dm - tod) {
        printf("\nСтруктура номер %d є  найблищою до сьогодні датою.\n %s   %s", k1, arr[k1].date, arr[k1].kst);
    }
    else {
        printf("\nСтруктура номер %d є  найблищою до сьогодні датою.\n %s   %s", k2, arr[k2].date, arr[k2].kst);
    }
    va_end(parg);
}
Миниатюры
Ошибка LNK2019 И LNK1120  
0
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29
27.04.2022, 13:24  [ТС]
assemberist, такая же ошибка..
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
27.04.2022, 18:08
Цитата Сообщение от Vitalikus228 Посмотреть сообщение
такая же ошибка
А тред мы читаем жопой
В 22 строке объявлена функция. Где ее реализация?
0
1 / 1 / 0
Регистрация: 01.12.2021
Сообщений: 29
27.04.2022, 18:12  [ТС]
assemberist, снизу
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
27.04.2022, 18:18
Цитата Сообщение от Vitalikus228 Посмотреть сообщение
снизу
Нет ее реализации. У тебя объявлена функия с типом void(DATE[], int, int, const char*, ...); А внизу какая-то другая функция с типом void(DATE[], int, int, char*, ...);

Добавлено через 1 минуту
Иди читай про объявление и определение функций.
0
 Аватар для Наталья8
621 / 379 / 67
Регистрация: 09.03.2016
Сообщений: 4,075
27.04.2022, 21:51
Написал бы что ли. Для чего твоя программа нужна... (Серьезность Код) - машинный перевод..

Добавлено через 1 минуту
Функции лучше по человечески сверху... пыли меньше.
0
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
27.04.2022, 22:00
Цитата Сообщение от Наталья8 Посмотреть сообщение
Написал бы что ли. Для чего твоя программа нужна...
Очередной курсач/практика по программированию. Для отработки массивов судя по всему.
Цитата Сообщение от Наталья8 Посмотреть сообщение
Функции лучше по человечески сверху
По человечески - вся эта пакость выносится в отдельный файл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2022, 22:00
Помогаю со студенческими работами здесь

Ошибка LNK2019, LNK1120
Помогите решить проблему #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;windows.h&gt; #include...

Ошибка LNK2019, LNK1120
Жалуется на функцию Add(). ошибки: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;Windows.h&gt; ...

Ошибка LNK1120 и LNK2019
Добрый день. Возникла ошибка LNK1120 и lnk2019, не совсем понимаю как решить. #define _CRT_SECURE_NO_WARNINGS #include...

MFC. Ошибка LNK2019 , LNK1120
Работаю в среде MFC: bool CheckKey() { for (int i=1; i&lt;= Key.GetLength(); i++) for (int j=1; j &lt;= Key.GetLength(); j++) ...

Ошибка error LNK2019 & LNK1120 и md5()
Добавил поддержку md5(), код с сайта http://www.zedwood.com/article/cpp-md5-function Пробую вставить в код и получаю ошибку при линковке....


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru