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

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 1087
от 19.08.2008, 21:05

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

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 141497: В отдельном заголовочном файле был описан класс, в cpp файле хранилась реализация методов класса. Классом оборачивал DirecDraw всё прекрасно работало и компилятор не ругался. В один чудесный день всё это чудо перестало работать. Ошибка линковщика:<br...

Вопрос № 141.497
В отдельном заголовочном файле был описан класс, в cpp файле хранилась реализация методов класса. Классом оборачивал DirecDraw всё прекрасно работало и компилятор не ругался. В один чудесный день всё это чудо перестало работать. Ошибка линковщика:
Error 2 error LNK2001: unresolved external symbol _IID_IDirectDraw7 graph.obj
Error 1 error LNK2019: unresolved external symbol _DirectDrawCreateEx@16 referenced in function "public: __thiscall Drawing::Drawing(struct HWND__ *)" (??0Drawing@@QAE@PAUHWND__@@@Z) graph.obj
Error 3 fatal error LNK1120: 2 unresolved externals D:3D3D_engine_begininggraphDebuggraph.exe

В прошлом и в нынешнем времени компилю это под vs 2005. Никаких патчей на неё не устанавливалось. При переустановке системы поставил ту же студию, ошибки сохранились. Удивительно то, что другие проекты, в которых оборачивается DirectDraw удачно компилируются. Подскажите что может быть такого? Танцы с бубном тут бессильны.
Отправлен: 14.08.2008, 20:40
Вопрос задал: Супрун Павел Анатольевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: mega
Здравствуйте, Супрун Павел Анатольевич!

ошибка "unresolved external symbol" говорит о том, что в проект не включена сама библиотека, в которой содержится данный метод или переменная, в данном случае - это ddraw.dll

для того, чтобы подключить библиотеку существует 2 способа:
1. прописать в *.cpp
#pragma comment(lib,"ddraw")
2. добавить ddraw в список Project::Project Properties::Configuration Properties::Linker::Input::Additional Dependences

если раньше использовался второй вариант, то такая реакция компилятора вполне логична

в обоих вариантах должен быть доступ к ddraw.lib, который обычно обеспечивает внешний инсталятор ddraw-sdk, либо все пути добавляются вручную: Tools::Options::Projects::VC++Directories
Ответ отправил: mega (статус: 4-ый класс)
Ответ отправлен: 14.08.2008, 21:02
Оценка за ответ: 4


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.1 beta(win) от 11.08.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное