Форум программистов, компьютерный форум 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>


Подскажите, пожалуйста, как можно избавиться от этих ошибок.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 15:42     error LNK2019: ссылка на неразрешенный внешний символ #2
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Используются библиотеки ILU.lib ILUT.lib DevIL.lib.
А линкер об этом знает?
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 15:43  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #3
Да, знает.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 15:46     error LNK2019: ссылка на неразрешенный внешний символ #4
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Да, знает.
Он Вам сам об этом сказал?
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 15:48  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #5
Это я ему об этом сказал
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:01     error LNK2019: ссылка на неразрешенный внешний символ #6
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Это я ему об этом сказал
Ну, если Вы уверены, что либы линкуются, посмотрите какие функции они экспортируют.
Хотя я больше склоняюсь к варианту, что линкер всё таки о них (либах) не знает.
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 16:05  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #7
Подскажите, как проверить, знает линкер о библиотеках или нет?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:09     error LNK2019: ссылка на неразрешенный внешний символ #8
UrsusHorribilis, Свойства проекта, Linker, Input, Addition dependencies.
Или можно использовать #pragma для добавления
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 16:11  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #9
Точно знает.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:15     error LNK2019: ссылка на неразрешенный внешний символ #10
UrsusHorribilis, тут смотрели http://stackoverflow.com/questions/1...xternal-symbol ?
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 16:21  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #11
Подключение библиотек происходит таким образом:

C++
1
2
3
4
5
6
#pragma comment(lib,"DevIL.lib")
#pragma comment(lib,"ilut.lib")
#pragma comment(lib,"ilu.lib")
 
#include <Il/il.h>
#include <IL/ilu.h>
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:23     error LNK2019: ссылка на неразрешенный внешний символ #12
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Подключение библиотек происходит таким образом:
Могу предположить, что нужно указать пути к либам. Или прописать путь в Additional Library Directories.
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 15:28  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #13
Добавлено через 2 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Могу предположить, что нужно указать пути к либам. Или прописать путь в Additional Library Directories.
Путь в Additional Library Directories прописан. В чём ещё может быть дело?
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
17.12.2013, 15:35     error LNK2019: ссылка на неразрешенный внешний символ #14
UrsusHorribilis, если либы через прагму подключены, то и путь наверное стоит в прагме ж указать. Не уверен, но попробуйте.
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 15:48  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #15
Tulosba,
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
#pragma comment(lib,"DevIL.lib")
здесь lib как раз и есть местоположение этих библиотек.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
17.12.2013, 15:52     error LNK2019: ссылка на неразрешенный внешний символ #16
UrsusHorribilis, lib - это не путь, это указание, что это либа.
Так попробуйте:
C++
1
#pragma comment(lib,"path/DevIL.lib")
path - путь к либе.
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 15:59  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #17
C++
1
2
3
#pragma comment(lib,"c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\lib\\DevIL.lib")
#pragma comment(lib,"c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\lib\\ilut.lib")
#pragma comment(lib,"c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\lib\\ilu.lib")
Те же ошибки.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
17.12.2013, 16:06     error LNK2019: ссылка на неразрешенный внешний символ #18
UrsusHorribilis, кидайте проект архивом, посмотрим.
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 16:17  [ТС]     error LNK2019: ссылка на неразрешенный внешний символ #19
Спасибо
Вложения
Тип файла: zip Source - Spacecraft 2D.zip (3.05 Мб, 3 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 16:22     error LNK2019: ссылка на неразрешенный внешний символ
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
17.12.2013, 16:22     error LNK2019: ссылка на неразрешенный внешний символ #20
UrsusHorribilis, а где файл проекта/решения?
Yandex
Объявления
17.12.2013, 16:22     error LNK2019: ссылка на неразрешенный внешний символ
Ответ Создать тему
Опции темы

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