Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 462
от 15.09.2007, 17:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 406, Экспертов: 43
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.58 от 10.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное