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

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

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

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

16.12.2013, 15:33. Просмотров 3725. Ответов 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
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.12.2013, 15:52 #16
UrsusHorribilis, lib - это не путь, это указание, что это либа.
Так попробуйте:
C++
1
#pragma comment(lib,"path/DevIL.lib")
path - путь к либе.
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 15:59  [ТС] #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")
Те же ошибки.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.12.2013, 16:06 #18
UrsusHorribilis, кидайте проект архивом, посмотрим.
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 16:17  [ТС] #19
Спасибо
0
Вложения
Тип файла: zip Source - Spacecraft 2D.zip (3.05 Мб, 3 просмотров)
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.12.2013, 16:22 #20
UrsusHorribilis, а где файл проекта/решения?
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 16:33  [ТС] #21
Папка проекта из Visual Studio:
0
Вложения
Тип файла: zip Mark_Kursach_1.2.zip (3.13 Мб, 3 просмотров)
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 16:59 #22
Такие ошибки бывают и когда библиотека чем-нибудь не подходит. Ошибки по функциям какой-то одной библиотеки (из трёх)?
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.12.2013, 17:00 #23
UrsusHorribilis, Вы уверены, что у Вас DevIL.lib, а не DevIL.dll ?
Какие библиотеки (и откуда) Вы устанавливали дополнительно для проекта?
0
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
17.12.2013, 17:15  [ТС] #24
Цитата Сообщение от Tulosba Посмотреть сообщение
Вы уверены, что у Вас DevIL.lib, а не DevIL.dll ?
Да, уверен.

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

Добавлено через 1 минуту
Цитата Сообщение от alsav22 Посмотреть сообщение
Такие ошибки бывают и когда библиотека чем-нибудь не подходит. Ошибки по функциям какой-то одной библиотеки (из трёх)?
Нет, ошибки по функциям из всех трёх библиотек.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.12.2013, 17:16 #25
Цитата Сообщение от UrsusHorribilis Посмотреть сообщение
Они были переданы мне вместе с исходниками.
А в архивах я их что-то не обнаружил.
1
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 17:42 #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 минут
Ваш проект тоже скомпилировался.
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.12.2013, 18:10 #27
Вот ваш проект (работающий) вместе с библиотеками (только заменил glaux.lib на glut32.lib).
0
Вложения
Тип файла: 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
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.12.2013, 18:33 #28
Цитата Сообщение от UrsusHorribilis
При запуске на моём компе, выявляются те же ошибки, однако на другом компе всё работают, но не отображаются текстуры.
Я в чудеса в программировании не верю. Среды у нас одинаковые. Проект пробовал в XP, там всё компилируется и запускается. Сейчас скачал выложенный архив и попробовал в 10-й студии (Express), в Win 7(х64). Тоже всё компилируется и запускается (скрин). Почему у вас могут быть те же ошибки, что и в первом посте, совершенно непонятно. Все нужные либы и dll находятся в папках проекта. Пути, в свойствах проекта, прописаны, относительно папки проекта. Почему и отчего не отображаются текстуры на другом компе - это уже другая тема, которая меня мало интересует.
1
Миниатюры
error LNK2019: ссылка на неразрешенный внешний символ  
UrsusHorribilis
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 13
18.12.2013, 19:06  [ТС] #29
Ясно. Спасибо за помощь. Буду разбираться с текстурами.
0
18.12.2013, 19:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 19:06
Привет! Вот еще темы с ответами:

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: Очень сильно нужна ваша помощь! не понимаю, почему выбивает эту ошибку( прикрепляю проект. ...


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

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

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