Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: unresolved external symbol  (Прочитано 12551 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Nickolas
Гость
« : 30-06-2004 20:52 » 

Помогите pls...
Написал простенькую программку под Win32 используя только API.
При попытке подключить библиотеки например

<GL/gl.h>
<GL/glu.h>
<GL/glaux.h>

или

<COMMCTRL.H>

компилятор ведает следующее:
Код:

...
Linking...
Main.obj { error LNK2001{ unresolved external symbol __imp__wglMakeCurrent@8
Main.obj { error LNK2001{ unresolved external symbol __imp__wglCreateContext@4
...

В чем тут может быть причина?
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #1 : 30-06-2004 21:05 » 

Причина в том, что линкер не может найти объект. В твоем случае это, похоже, .H файлы, хотя тут накладок не должно быть  :?:
Слушай, а ты случайно #include не забыл? Писать-то надо
#include <commctrl.h>...  :?
Записан
Xeysan
Гость
« Ответ #2 : 30-06-2004 23:07 » 

Он забыл подключить библиотеки  Улыбаюсь
Попробуй добавить это в заголовочный файл ( если он есть )
или в исходник, если х-файла нету:
#pragma comment( lib, "comctl32.lib" )
Записан
Nickolas
Гость
« Ответ #3 : 01-07-2004 07:23 » 

Archangel, библиотеки я подключил
#include <commctrl.h>
Дело в том, что если подключать например
#include <GL/gl.h>
из консольного приложения то все компилируется нормально.
Записан
Nickolas
Гость
« Ответ #4 : 01-07-2004 11:13 » 

Всем спасибо!
Заработало.
Скажите пожалуйста почему компилятору нужно указывать имя файла конретно (#pragma comment( lib, "comctl32.lib" )), все же пути прописаны!
Записан
Serega
Гость
« Ответ #5 : 01-07-2004 12:10 » 

Эта прагма не для компилятора а для линкера.
В .h файле написано что существует какая-то функция, и компилятор с этим легко соглашается.
А вот когда приходит время линковки линкер должен знать где эта функция реализована, нельзя собрать программу забыв про какие-нить функции, а то было бы весело Отлично
Причем линкер знает только название функции, и никакие обьектники сам не ищет, поэтому ему надо указать где искать реализацию функции.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines