Вопрос № 101545: Здравствуйте, уважаемые эксперты.
Такой код:(см. приложение)
Компилятор(Dev-C++) выдает:
[Linker error] undefined reference to `SetTextColor@8'
[Linker error] undefined reference to `SetBkColor@8'
[Linker error] undefined ref...
Вопрос № 101.545
Здравствуйте, уважаемые эксперты.
Такой код:(см. приложение)
Компилятор(Dev-C++) выдает:
[Linker error] undefined reference to `SetTextColor@8'
[Linker error] undefined reference to `SetBkColor@8'
[Linker error] undefined reference to `SetTextAlign@8'
[Linker error] undefined reference to `TextOutA@20'
ld returned 1 exit status
В чем дело? Спасибо за ответ на мой глупый вопрос.
Приложение:
Отправлен: 10.09.2007, 17:34
Вопрос задал: qzip (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Aristos
Здравствуйте, Утков П.В.!
Эта ошибка линковки означает, что линковщик не нашел опредение фукнции. Это может быть как одна из ваших функций (если, например, файл cpp с определением функции не подключен к проекту), так и функция из библиотеки, которую необходимо указать в настройках проекта.
В данном случае, определения всех приведенных функций находятся в библиотеке 'Gdi32.lib'.
--------- нет ничего невозможного
Ответ отправил: Aristos (статус: 5-ый класс)
Ответ отправлен: 10.09.2007, 17:46 Оценка за ответ: 5
Отвечает: Geograph
Здравствуйте, Утков П.В.!
Просто Вы не подключили библиотеку для работы с этими функциями gdi32.lib (в Вашем примере и user32.lib тоже используется), чтобы ее подключить нужно прописать в начале, после #include<windows.h> строчку
#pragma comment(lib,"gdi32")
либо при компиляции указать библиотеку:
cl example.cpp user32.lib gdi32.lib
либо если Вы работаете через среду Microsoft Visual C++ то в окошке Project -> Settings на вкладке Link в поле "Object/library modules" дописать gdi32.lib
Приложение:
Ответ отправил: Geograph (статус: 1-ый класс)
Ответ отправлен: 11.09.2007, 07:39 Оценка за ответ: 5