Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 5.00
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
#1

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

16.12.2013, 15:33. Просмотров 4405. Ответов 28
Метки нет (Все метки)

Доброго времени суток. При написании курсового проекта в 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>


Подскажите, пожалуйста, как можно избавиться от этих ошибок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 15:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос error LNK2019: ссылка на неразрешенный внешний символ (C++):

error LNK2019: ссылка на неразрешенный внешний символ... - C++
Подскажите что я не правельно сделал? #include<iostream> using namespace std; #include<iomanip> int f_fact(int); int...

Error LNK2019: ссылка на неразрешенный внешний символ - C++
Person.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Person::Person(class Person &,char *,char *,char *)"...

error LNK2019: ссылка на неразрешенный внешний символ - C++
только-только начал изучать c++.написал программу. компиляция прошла успешно, а при отладке выдаёт ошибку 1>------ Построение начато:...

error LNK2019: ссылка на неразрешенный внешний символ - C++
Пытался запустить google test, пишет, ссылка на неразрешенный внешний символ, хотя все внешние библиотеки подключены. Я думаю их еще надо...

Error LNK2019: ссылка на неразрешенный внешний символ - C++
Вот код #include <iostream> using namespace std; template <class Type> class Array { private: Type **pa; int ...

error LNK2019: ссылка на неразрешенный внешний символ - C++
Вот код, неполный, решил откомпилировать - узнать, что исправить #include "stdafx.h" #include <cstdlib> #include <iostream> using...

28
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 15:42 #2
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Используются библиотеки ILU.lib ILUT.lib DevIL.lib.
А линкер об этом знает?
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 15:43  [ТС] #3
Да, знает.
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 15:46 #4
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Да, знает.
Он Вам сам об этом сказал?
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 15:48  [ТС] #5
Это я ему об этом сказал
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:01 #6
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Это я ему об этом сказал
Ну, если Вы уверены, что либы линкуются, посмотрите какие функции они экспортируют.
Хотя я больше склоняюсь к варианту, что линкер всё таки о них (либах) не знает.
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 16:05  [ТС] #7
Подскажите, как проверить, знает линкер о библиотеках или нет?
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:09 #8
UrsusHorribilis, Свойства проекта, Linker, Input, Addition dependencies.
Или можно использовать #pragma для добавления
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 16:11  [ТС] #9
Точно знает.
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:15 #10
UrsusHorribilis, тут смотрели http://stackoverflow.com/questions/1...xternal-symbol ?
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
16.12.2013, 16:21  [ТС] #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>
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
16.12.2013, 16:23 #12
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Подключение библиотек происходит таким образом:
Могу предположить, что нужно указать пути к либам. Или прописать путь в Additional Library Directories.
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 15:28  [ТС] #13
Добавлено через 2 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Могу предположить, что нужно указать пути к либам. Или прописать путь в Additional Library Directories.
Путь в Additional Library Directories прописан. В чём ещё может быть дело?
0
Tulosba
:)
Эксперт С++
4705 / 3240 / 297
Регистрация: 19.02.2013
Сообщений: 9,046
17.12.2013, 15:35 #14
UrsusHorribilis, если либы через прагму подключены, то и путь наверное стоит в прагме ж указать. Не уверен, но попробуйте.
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 15:48  [ТС] #15
Tulosba,
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
#pragma comment(lib,"DevIL.lib")
здесь lib как раз и есть местоположение этих библиотек.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 15:48
Привет! Вот еще темы с ответами:

error LNK2019: ссылка на неразрешенный внешний символ - C++
есть исходник .cpp --------------------------------------------------------------------- #include &lt;stdafx.h&gt; #include &lt;iostream&gt; ...

error lnk2019 ссылка на неразрешенный внешний символ - C++
1&gt; Обращение к &quot;Debug\тесткомпилятора2лабыerror LNK2019.unsuccessfulbuild&quot;. 1&gt;ClCompile: 1&gt; Trenirovki.cpp 1&gt; SportsmenManager.cpp...

Error LNK2019: ссылка на неразрешенный внешний символ - C++
Здравствуйте, пишу небольшую консольную игру для саморазвития. Вроде бы не успел толком начать, но уже не могу справиться с ошибкой: ...

Error LNK2019 ссылка на неразрешенный внешний символ - C++
Здравствуйте, дорогие форумчане :gsmile: Очень сильно нужна ваша помощь! не понимаю, почему выбивает эту ошибку( прикрепляю проект. ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru