Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
1

1>GLAUX.lib(tk.obj) : error LNK2019: ссылка на неразрешенный внешний символ _sscanf в функции _GetRegistrySysColors@8

15.02.2018, 23:38. Показов 6760. Ответов 14

Author24 — интернет-сервис помощи студентам
не комприлируется код текустурирования, при попытке компиляции, вылезает такая ошибка:
1>GLAUX.lib(tk.obj) : error LNK2019: ссылка на неразрешенный внешний символ _sscanf в функции _GetRegistrySysColors@8
вот весь код
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#include <GLUT/GLUT.H>
#include <stdlib.h>
#include <cmath>
#include <iostream>
#include <GLAUX/GLAUX.H>
#include <GL/GL.H>
#include <GLU/GLU.H>
 
 
//#pragma comment(lib,"GLAUX.LIB")
 
static int left = 0, right = 0, up = 0, down = 0;
 
#define PI 3.14159265  
 
void display(void) {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
    GLUquadricObj *quadObj;
    quadObj = gluNewQuadric();
 
    gluQuadricTexture(quadObj, GL_TRUE);
    glColor3f(1, 0, 0);
    //gluSphere(quadObj, 1, 100, 10);
    glutSolidSphere(2, 30, 30);
 
    glPushMatrix();
    glRotatef((GLfloat)left, 0.0, 0.0, 1.0);
    glRotatef((GLfloat)right, 0.0, 0.0, 1.0);
    glRotatef((GLfloat)up, 0.0, 1.0, 0.0);
    glRotatef((GLfloat)down, 0.0, 1.0, .0);
    glColor3f(1.0, 0.5, 0.0);
    glutWireSphere(2.0, 30, 40);
 
    gluDeleteQuadric(quadObj);
 
    glPopMatrix();
 
 
    glutSwapBuffers();
}
 
void init(void) {
 
    glColor3f(1, 1, 1);
 
    unsigned int textures[3];
    AUX_RGBImageRec *texture1;
    texture1 = auxDIBImageLoadA("eath1.dib");
    glGenTextures(1, &textures[0]);
    glBindTexture(GL_TEXTURE_2D, textures[0]);
    texture1 = auxDIBImageLoadA("eath.dib");
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);
    glEnable(GL_TEXTURE_2D);
 
 
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glShadeModel(GL_FLAT);
}
 
void reshape(int w, int h) {
    glMatrixMode(GL_PROJECTION);
    gluPerspective(10.0, w / (GLfloat)h, 3.0, 90.0);
    glMatrixMode(GL_MODELVIEW);
    gluLookAt(50.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
}
 
int ch=9;
 
//приближение, удаление, закрытие проекта
 
void processSpecialKeys(int button, int x, int y) {
    switch (button) {
    case GLUT_KEY_UP:
        if (ch > 0) {
            glTranslated(5, 0, 0);
            ch--;
 
        }
        glutPostRedisplay();
        break;
    case GLUT_KEY_DOWN:
        if (ch < 9) {
            glTranslated(-5, 0, 0);
            ch++;
        }
        glutPostRedisplay();
        break;
    case GLUT_KEY_END:
        exit(0);
        break;
    default:
        break;
    }
}
 
// кручение сферы
 
void pushbutton(unsigned char button, int x, int y) {
 
    switch (button) {
    case 'a':
        left = (left + 10) % 360;
        glutPostRedisplay();
        break;
    case'd':
        right = (right - 10) % 360;
        glutPostRedisplay();
        break;
    case 'w':
        up = (up + 10) % 360;
        glutPostRedisplay();
        break;
    case's':
        down = (down - 10) % 360;
        glutPostRedisplay();
        break;
    default:
        break;
    }
}
 
 
//обработка левой кнопки мыши  сюда код для вычисления широты и долготы
 
void mouseButton(int button, int state, int x, int y) {
    
    switch (button) {
    case GLUT_LEFT_BUTTON:
        if (state == GLUT_DOWN) {
                                         //вычисляющая функция
        }
        break;
    }
}
 
 
 
 
int main(int argc, char **argv) {
 
    setlocale(LC_ALL, "Russian");
    std::cout << sin(PI/2);
    glutInit(&argc, argv);
 
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGBA);
 
    glutInitWindowSize(800, 600);
    glutInitWindowPosition(10, 10);
    glutCreateWindow("Eath");
    init();
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
 
 
    glutKeyboardFunc(pushbutton);
    glutSpecialFunc(processSpecialKeys);
 
 
    //glutMouseFunc(mouseButton);              //вычисление долготы и широты
 
    glEnable(GL_DEPTH_TEST);
    glutMainLoop();
    return 0;
}
не компилится вот эта часть:
C++
1
2
3
4
5
6
7
8
9
10
unsigned int textures[3];
    AUX_RGBImageRec *texture1;
    texture1 = auxDIBImageLoadA("eath1.dib");
    glGenTextures(1, &textures[0]);
    glBindTexture(GL_TEXTURE_2D, textures[0]);
    texture1 = auxDIBImageLoadA("eath.dib");
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);
    glEnable(GL_TEXTURE_2D);
помогите пожалуйста

Добавлено через 2 минуты
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2018, 23:38
Ответы с готовыми решениями:

Error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup MSVCRTD.lib
Пожалуйста помогите найти ошибку. template&lt;class T&gt; class Stack { private: T* ss; int top;...

Error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
Компилятор выдает две ошибки 1)error LNK2019: ссылка на неразрешенный внешний символ _main в...

Error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
Error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup ...

Error LNK2019: ссылка на неразрешенный внешний символ _URLDownloadToFileW@20 в функции _WinMain@16
Ошибка при добавлении этой строчки в проект URLDownloadToFile(0,...

14
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
16.02.2018, 00:01 2
пути к либам прописаны?
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
16.02.2018, 00:04  [ТС] 3
да, так как весь остальной код компилится, если этот:
C++
1
2
3
4
5
6
7
8
9
10
unsigned int textures[3];
    AUX_RGBImageRec *texture1;
    texture1 = auxDIBImageLoadA("eath1.dib");
    glGenTextures(1, &textures[0]);
    glBindTexture(GL_TEXTURE_2D, textures[0]);
    texture1 = auxDIBImageLoadA("eath.dib");
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);
    glEnable(GL_TEXTURE_2D);
закоментировать, тоесть у меня появляется две сферы, красная, и оранжевая, но у меня не получается текстурировать их(загрузить текстуру)
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
16.02.2018, 00:53 4
Цитата Сообщение от darwolf Посмотреть сообщение
C++
1
//#pragma comment(lib,"GLAUX.LIB")
Зачем закомментировал? По другому указал либу?
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
16.02.2018, 01:05  [ТС] 5
по разному пытался, сначала прагмой, потом её закоментил, и подключил в компеляторе
не помогло, вылетала та-же ошибка
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
16.02.2018, 01:12 6
Такая ошибка бывает и в таком случае: библиотека собрана Си-компилятором, используется в программе, собираемой С++ компилятором. В этом случае, в хедере библиотеки, прототипы функций должны быть обрамлены extern "C" {}, иначе, компоновщик не будет находить их реализации.
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
16.02.2018, 01:20  [ТС] 7
щас попробую

Добавлено через 1 минуту
C++
1
extern "C" AUX_RGBImageRec * APIENTRY auxDIBImageLoadA(LPCSTR);
так?

Добавлено через 3 минуты
так-же попробовал такую запись:
C++
1
2
3
extern "C" {
#include <GLAUX/GLAUX.H>
}
та-же ошибка

Добавлено через 34 секунды
пробовал раздельно
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
16.02.2018, 01:21 8
Цитата Сообщение от darwolf Посмотреть сообщение
так-же попробовал такую запись:
Значит другая причина.
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
16.02.2018, 01:23  [ТС] 9
не сработало=(

есть еще идеи?

Добавлено через 44 секунды
есть ли онлайн коомпилятор, на котором можно попробовать данный код?
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
16.02.2018, 01:25 10
darwolf, среда у тебя какая?
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
16.02.2018, 01:26  [ТС] 11
visual studio 2017 последняя обновленная версия язык с++
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
16.02.2018, 01:43 12
Лучший ответ Сообщение было отмечено darwolf как решение

Решение

Компоновщик реализацию _sscanf не видит. Эту тему почитай: https://stackoverflow.com/ques... tudio-2015
1
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
16.02.2018, 01:56  [ТС] 13
воу, ты лучший

Добавлено через 12 секунд
спасибо большое, задача решена

Добавлено через 46 секунд
но появилась новая, не запихивается текстура, буду продолжать гуглить, если есть идеи почему , напиши(или надо новую тему создать?)

Добавлено через 42 секунды
пишет что texture1 =NULL ptr
но я вроде даю ей значение
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
16.02.2018, 01:58 14
Цитата Сообщение от darwolf Посмотреть сообщение
не запихивается текстура,
Про текстуры лучше спрашивать в разделах, где графику программируют (OpenGL, Программирование графики).
0
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 15
16.02.2018, 01:59  [ТС] 15
спасибо большое, ооооочень долго с этим парился
удачи тебе!!!
0
16.02.2018, 01:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2018, 01:59
Помогаю со студенческими работами здесь

Ошибка линковщика(error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup)
#include &lt;iostream&gt; using namespace std; void rotor(int *a,int k,int len) { // Создаем и...

Error LNK2019: ссылка на неразрешенный внешний символ
Здрасте, Потребовалось вызвать dll из другой папки, пришлось переписывать импорт под динамический...

error LNK2019: ссылка на неразрешенный внешний символ
Доброго времени суток. При написании курсового проекта в Microsoft Visual Studio 2010 возникла...

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

Error LNK2019: ссылка на неразрешенный внешний символ
Person.obj : error LNK2019: ссылка на неразрешенный внешний символ &quot;public: __thiscall...

Error LNK2019: ссылка на неразрешенный внешний символ
Здравствуйте! Начал осваивать язык С++. В общем суть: Как выправить код(+руки)?Если не трудно,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru