Форум программистов, компьютерный форум CyberForum.ru

error LNK2019: ссылка на неразрешенный внешний символ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 5.00
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 15:33     error LNK2019: ссылка на неразрешенный внешний символ #1
Доброго времени суток. При написании курсового проекта в Microsoft Visual Studio 2010 возникла проблема. Насколько я понял, что-то не так с текстурами. Используются библиотеки ILU.lib ILUT.lib DevIL.lib. Вот фрагмент кода:
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
 class ClassTexture
{
    public:
        
        ClassTexture()
        {
            ilInit();
            iluInit();
        }
        
        void LoadTexture(ILenum FileType, char * filename, TextureImage * texture)
        {
            ilLoad(FileType, (const wchar_t *)filename);
            
            texture -> width = ilGetInteger(IL_IMAGE_WIDTH);
            texture -> height = ilGetInteger(IL_IMAGE_HEIGHT);
            texture -> bpp = ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
            
            texture -> imageData = ilGetData();
            
            ilEnable(IL_CONV_PAL);
            
            unsigned int type = ilGetInteger(IL_IMAGE_FORMAT);
            
            glGenTextures(1, &texture -> texID);
            glBindTexture(GL_TEXTURE_2D, texture -> texID);
            
            gluBuild2DMipmaps(GL_TEXTURE_2D, texture -> bpp, texture -> width,
            texture -> height, type, GL_UNSIGNED_BYTE, texture -> imageData);
            
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        }
        
} *Texture;
При компиляции возникают такие ошибки:
1>Kursach_1.2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__iluInit@0 в функции "public: __thiscall ClassTexture::ClassTexture(void)" (??0ClassTexture@@QAE@XZ)
1>Kursach_1.2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__ilInit@0 в функции "public: __thiscall ClassTexture::ClassTexture(void)" (??0ClassTexture@@QAE@XZ)
1>Kursach_1.2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__ilEnable@4 в функции "public: void __thiscall ClassTexture::LoadTexture(unsigned int,char *,struct TextureImage *)" (?LoadTexture@ClassTexture@@QAEXIPADPAUTextureImage@@@Z)
1>Kursach_1.2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__ilGetData@0 в функции "public: void __thiscall ClassTexture::LoadTexture(unsigned int,char *,struct TextureImage *)" (?LoadTexture@ClassTexture@@QAEXIPADPAUTextureImage@@@Z)
1>Kursach_1.2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__ilGetInteger@4 в функции "public: void __thiscall ClassTexture::LoadTexture(unsigned int,char *,struct TextureImage *)" (?LoadTexture@ClassTexture@@QAEXIPADPAUTextureImage@@@Z)
1>Kursach_1.2.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__ilLoad@8 в функции "public: void __thiscall ClassTexture::LoadTexture(unsigned int,char *,struct TextureImage *)" (?LoadTexture@ClassTexture@@QAEXIPADPAUTextureImage@@@Z)
1>c:\users\documents\visual studio 2010\Projects\Kursach_1.2\Kursach_1.2.exe : fatal error LNK1120: 6 неразрешенных внешних элементов
1>


Подскажите, пожалуйста, как можно избавиться от этих ошибок.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 16:33  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #21
Папка проекта из Visual Studio:
Вложения
Тип файла: zip Mark_Kursach_1.2.zip (3.13 Мб, 3 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 16:59     error LNK2019: ссылка на неразрешенный внешний символ #22
Такие ошибки бывают и когда библиотека чем-нибудь не подходит. Ошибки по функциям какой-то одной библиотеки (из трёх)?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
17.12.2013, 17:00     error LNK2019: ссылка на неразрешенный внешний символ #23
UrsusHorribilis, Вы уверены, что у Вас DevIL.lib, а не DevIL.dll ?
Какие библиотеки (и откуда) Вы устанавливали дополнительно для проекта?
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 17:15  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #24
Цитата Сообщение от Tulosba Посмотреть сообщение
Вы уверены, что у Вас DevIL.lib, а не DevIL.dll ?
Да, уверен.

Цитата Сообщение от Tulosba Посмотреть сообщение
Какие библиотеки (и откуда) Вы устанавливали дополнительно для проекта?
Используются библиотеки ILU.lib ILUT.lib и DevIL.lib. Они были переданы мне вместе с исходниками.

Добавлено через 1 минуту
Цитата Сообщение от alsav22 Посмотреть сообщение
Такие ошибки бывают и когда библиотека чем-нибудь не подходит. Ошибки по функциям какой-то одной библиотеки (из трёх)?
Нет, ошибки по функциям из всех трёх библиотек.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
17.12.2013, 17:16     error LNK2019: ссылка на неразрешенный внешний символ #25
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Они были переданы мне вместе с исходниками.
А в архивах я их что-то не обнаружил.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 17:42     error LNK2019: ссылка на неразрешенный внешний символ #26
Скачал библиотеку: DevIL-SDK-x86-1.7.8. Вот такой код у меня (10 студия, конфигурация проекта Win32, библиотеки через свойства проекта подключены) без ошибок компилируется:
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
#include <iostream>
#include <Windows.h>
#include <ctime>
#include <cmath>
#include "il.h"
#include "ilu.h"
#include "ilut.h"
 
enum TexType {SPACECRAFT, ASTEROID, SIGHT};
 
typedef struct TextureImage
{
    GLubyte *imageData;
    GLuint bpp;
    GLuint width,height;
    GLuint texID;
    
} TextureImage;
 
class ClassTexture
{
    public:
        
        ClassTexture()
        {
            ilInit();
            iluInit();
        }
        
        void LoadTexture(ILenum FileType, char * filename, TextureImage * texture)
        {
            ilLoad(FileType, (const wchar_t *)filename);
            
            texture -> width = ilGetInteger(IL_IMAGE_WIDTH);
            texture -> height = ilGetInteger(IL_IMAGE_HEIGHT);
            texture -> bpp = ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
            
            texture -> imageData = ilGetData();
            
            ilEnable(IL_CONV_PAL);
            
            unsigned int type = ilGetInteger(IL_IMAGE_FORMAT);
            
            glGenTextures(1, &texture -> texID);
            glBindTexture(GL_TEXTURE_2D, texture -> texID);
            
            gluBuild2DMipmaps(GL_TEXTURE_2D, texture -> bpp, texture -> width,
            texture -> height, type, GL_UNSIGNED_BYTE, texture -> imageData);
            
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        }
        
} *Texture;
 
 
int main()
{
    
 
}
Добавлено через 1 минуту
Разрядность библиотеки, у вас, с разрядностью проекта совпадает?

Добавлено через 11 минут
Ваш проект тоже скомпилировался.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 18:10     error LNK2019: ссылка на неразрешенный внешний символ #27
Вот ваш проект (работающий) вместе с библиотеками (только заменил glaux.lib на glut32.lib).
Вложения
Тип файла: rar Mark_Kursach_1.2.part01.rar (4.77 Мб, 11 просмотров)
Тип файла: rar Mark_Kursach_1.2.part02.rar (4.77 Мб, 6 просмотров)
Тип файла: rar Mark_Kursach_1.2.part03.rar (2.66 Мб, 7 просмотров)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.12.2013, 18:33     error LNK2019: ссылка на неразрешенный внешний символ #28
Цитата Сообщение от UrsusHorribilis
При запуске на моём компе, выявляются те же ошибки, однако на другом компе всё работают, но не отображаются текстуры.
Я в чудеса в программировании не верю. Среды у нас одинаковые. Проект пробовал в XP, там всё компилируется и запускается. Сейчас скачал выложенный архив и попробовал в 10-й студии (Express), в Win 7(х64). Тоже всё компилируется и запускается (скрин). Почему у вас могут быть те же ошибки, что и в первом посте, совершенно непонятно. Все нужные либы и dll находятся в папках проекта. Пути, в свойствах проекта, прописаны, относительно папки проекта. Почему и отчего не отображаются текстуры на другом компе - это уже другая тема, которая меня мало интересует.
Миниатюры
error LNK2019: ссылка на неразрешенный внешний символ  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 19:06     error LNK2019: ссылка на неразрешенный внешний символ
Еще ссылки по теме:

C++ Error LNK2019: ссылка на неразрешенный внешний символ
Error LNK2019: ссылка на неразрешенный внешний символ C++
C++ Error LNK2019: ссылка на неразрешенный внешний символ

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

Или воспользуйтесь поиском по форуму:
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
18.12.2013, 19:06  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #29
Ясно. Спасибо за помощь. Буду разбираться с текстурами.
Yandex
Объявления
18.12.2013, 19:06     error LNK2019: ссылка на неразрешенный внешний символ
Ответ Создать тему
Опции темы

Текущее время: 23:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru