Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/40: Рейтинг темы: голосов - 40, средняя оценка - 4.60
2 / 2 / 5
Регистрация: 28.07.2015
Сообщений: 24

Ошибка средств компоновщика

12.03.2016, 16:04. Показов 8623. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть такой код:

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
//#include <vcl.h>
#include <Windows.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
 
#include <ctime>
 
using namespace std;
 
int main()
{
    int i, a, b, color, R, G, B;
    float x;
    HDC hDC = GetDC(GetConsoleWindow());
 
    srand(time(0));
    Sleep(3000);
    b = 40;
    do
    {
        a = 40;
        do
        { //  color=255;
            R = rand() % 255;
            G = rand() % 255;
            B = rand() % 255;
 
            i = 0;
            do
            {
                HPEN Pen = CreatePen(PS_SOLID, 2, RGB(R, G, B));
                SelectObject(hDC, Pen);
                for (x = -3.0f; x <= 4.0f; x += 0.01f) 
                {
                    MoveToEx(hDC, i*cos(x) + a, -i*sin(x) + b, NULL);
                    LineTo(hDC, i*cos(x) + a, -i*sin(x) + b);
                }
                i++;
                if (R <= 6)
                {R = 0;}
                else
                {R = R - 6;}
                
                if (G <= 6)
                {G = 0;}
                else
                {G = G - 6;}
 
                if (B <= 6)
                {B = 0;}
                else
                {B = B - 6;}
 
            } while (i <= 40);
            a = a + 80;
        } while (a <= 600);
        b = b + 80;
    } while (b <= 600);
 
 
    getch();
    return 0;
}
А в окне ошибок есть такая проблема:
1>------ Сборка начата: проект: тест_2, Конфигурация: Debug x64 ------
1>Source.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A000043) "extern "C" void * __cdecl SelectObject(struct HDC__ *,void *)" (?SelectObject@@$$J0YAPEAXPEAUHDC__@@PEA X@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A00004E) "extern "C" struct HDC__ * __cdecl GetDC(struct HWND__ *)" (?GetDC@@$$J0YAPEAUHDC__@@PEAUHWND__@@@Z ) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A00008C) "extern "C" int __cdecl LineTo(struct HDC__ *,int,int)" (?LineTo@@$$J0YAHPEAUHDC__@@HH@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A00008D) "extern "C" struct HPEN__ * __cdecl CreatePen(int,int,unsigned long)" (?CreatePen@@$$J0YAPEAUHPEN__@@HHK@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A00009D) "extern "C" int __cdecl MoveToEx(struct HDC__ *,int,int,struct tagPOINT *)" (?MoveToEx@@$$J0YAHPEAUHDC__@@HHPEAUtagP OINT@@@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "extern "C" struct HDC__ * __cdecl GetDC(struct HWND__ *)" (?GetDC@@$$J0YAPEAUHDC__@@PEAUHWND__@@@Z ) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "extern "C" struct HPEN__ * __cdecl CreatePen(int,int,unsigned long)" (?CreatePen@@$$J0YAPEAUHPEN__@@HHK@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "extern "C" void * __cdecl SelectObject(struct HDC__ *,void *)" (?SelectObject@@$$J0YAPEAXPEAUHDC__@@PEA X@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "extern "C" int __cdecl MoveToEx(struct HDC__ *,int,int,struct tagPOINT *)" (?MoveToEx@@$$J0YAHPEAUHDC__@@HHPEAUtagP OINT@@@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>Source.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "extern "C" int __cdecl LineTo(struct HDC__ *,int,int)" (?LineTo@@$$J0YAHPEAUHDC__@@HH@Z) т ЇєэъЎшш "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>E:\Yarik\FAKS-3\2\фшэрьшър яюы╕Єр\ЄхёЄ_2\x64\Debug\ЄхёЄ_2.exe : fatal error LNK1120: эхЁрчЁх°хээ√ї тэх°эшї ¤ыхьхэЄют: 10
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Среда: MVS 2015 Community
(раньше этот код отлично работал на Borland)

Если закомментировать строки:
C++
1
2
3
4
5
HDC hDC = GetDC(GetConsoleWindow());
HPEN Pen = CreatePen(PS_SOLID, 2, RGB(R, G, B));
SelectObject(hDC, Pen);
MoveToEx(hDC, i*cos(x) + a, -i*sin(x) + b, NULL);
LineTo(hDC, i*cos(x) + a, -i*sin(x) + b);
, то ошибок не выдает.

О error LNK2028, error LNK2019, fatal error LNK1120(он же LNK2001) я мало что понял на оф сайте.
Помогите кому не сложно.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2016, 16:04
Ответы с готовыми решениями:

Ошибка средств компоновщика LNK1181 // Open cv 3.0.0
прошу помощи если кто работал с Open cv.. загружаю проверочный код отсюда...

Ссылка на неразрешенный внешний символ, Ошибка средств компоновщика LNK2019
После параметризации моего класса стали выскакивать ошибки LNK2019 при вызове из main.cpp перегруженных функций +, * и т.д. В чём дело? ...

Ошибка компоновщика
Перенёс проэкт с компа академии на свой комп (заменил код копипастом, системные файлы не трогал). Перед компиляцие выдаёт ошибки, которые...

10
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
12.03.2016, 16:09
В 10-й студии без ошибок компилируется. Проект какой? Расширение файла?
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
12.03.2016, 16:20
Лучший ответ Сообщение было отмечено Run как решение

Решение

Run, в дополнительных зависимостях должна быть указана Gdi32.lib.
На будущее, в справке к API функциям всегда пишут в какой библиотеке они находятся, см. таблицу внизу.
1
2 / 2 / 5
Регистрация: 28.07.2015
Сообщений: 24
12.03.2016, 16:51  [ТС]
пустой проект, .cpp

Добавлено через 28 минут
Спасибо большое, но к той еще нужно подключить "user32.lib".
Все работает.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
12.03.2016, 19:02
Цитата Сообщение от DrOffset Посмотреть сообщение
в дополнительных зависимостях должна быть указана Gdi32.lib.
Эти либы разве не по умолчанию подключаются?
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
12.03.2016, 22:15
Цитата Сообщение от nd2 Посмотреть сообщение
Эти либы разве не по умолчанию подключаются?
Зависит от типа проекта.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
12.03.2016, 23:06
Цитата Сообщение от DrOffset Посмотреть сообщение
Зависит от типа проекта.
Цитата Сообщение от Run Посмотреть сообщение
пустой проект, .cpp
Цитата Сообщение от Run Посмотреть сообщение
Среда: MVS 2015 Community
По умолчанию подключены:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
13.03.2016, 00:00
nd2, ну и что? Мы же не знаем как именно ТС создавал проект.
Вопрос-то в чем? Что мой совет не должен был помочь? Ну так он помог, значит я был прав.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
13.03.2016, 00:22
Цитата Сообщение от DrOffset Посмотреть сообщение
Ну так он помог, значит я был прав.
Я как-то и не сомневался.
Цитата Сообщение от DrOffset Посмотреть сообщение
Вопрос-то в чем?
А был ли вопрос?
Цитата Сообщение от DrOffset Посмотреть сообщение
Мы же не знаем как именно ТС создавал проект.
Теперь вопрос: Run, ты как проект создавал, что у тебя эти либы оказались не подключены?
0
2 / 2 / 5
Регистрация: 28.07.2015
Сообщений: 24
13.03.2016, 21:59  [ТС]
nd2, это была моя ошибка, создал "Пустой проект CLR".
А он не подключает эти библиотеки.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
13.03.2016, 22:14
Теперь понятно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2016, 22:14
Помогаю со студенческими работами здесь

Ошибка компоновщика LNK2019
Здравствуйте, я постигаю DirectX, и вот с самого начала какие-то проблемы у меня с ним. Текст программы инициализации: #include...

Ошибка компоновщика (undefined reference to '')
Здравствуйте! Я столкнулся с ошибкой компоновщика &quot; undefined reference to '...' &quot;, но самостоятельно найти решение данной проблемы найти...

Gtest и dll - ошибка компоновщика
Доброго времени суток. Я писал dll в VS 2015 и решил оттестировать ее с помощью gtest. Создал отдельный консольный проект, указал...

Ошибка компоновщика: ссылка на неразрешенный внешний символ
Ошибка: ссылка на неразрешенный внешний символ: в строчке: int y = SomeClass::Func(x); Почему я не понимаю. Если класс поместить в файл с...

Ошибка работы компоновщика
Добрый день. Работаю в Windows, в Visual Studio 2013 с установленным Qt и Qt vs-addin. Компоную виджеты на вкладке, три по вертикали и...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru