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

Правильная линковка библиотек - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объединение (union), объяснить выведенное значение http://www.cyberforum.ru/cpp-beginners/thread877524.html
Здравствуйте. При вызове обработчика выдаются значения переменных a,b,c, но когда я удаляю строку data.c = -3; вместо с выдается число 1084709929. Мне нужно объяснить откуда оно берется или как...
C++ Аппроксимация кривых и поверхностей сплайнами Помогите пожалуйста...не было даже лекции по теме сплайнов....я в замешательстве...я не смогу реализовать такую сложную программу... 1) Составить программу для реализации нескольких форм ... http://www.cyberforum.ru/cpp-beginners/thread877521.html
C++ Программа не обрабатывает текст из файла с кодировкой, отличной от ANSI
Здравствуйте. Имеется программка, которая читает текст из файла, обрабатывает его и записывает результат в другой текстовый файл. Проблема: Не читает текст из файла, если кодировка отлична от...
Реализовать функцию, которая осуществляет циклический побитовый сдвиг вправо на n позиций C++
Реализовать функцию, которая осуществляет циклический побитовый сдвиг вправо на n позиций. При циклическом сдвиге вправо на 1 все биты сдвигаются относительно разрядной сетки на одну позицию, а...
C++ Разложение Шеннона по таблице истинности http://www.cyberforum.ru/cpp-beginners/thread877494.html
Большая просьба, как на С++ можно реализовать Разложение Шеннона для ДНФ по всем переменным? Помогите, плиз.
C++ strcmp slovo={'d','d','d'}; char *slovo2=new char; for(int i=0;i<k;i++) { cin>>slovo2; } int s=strcmp(slovo2,slovo); и ввожу d,d,d; почему в переменной s не 0??? в документации написано что она 0... подробнее

Показать сообщение отдельно
No10
30 / 28 / 2
Регистрация: 03.06.2010
Сообщений: 465
25.05.2013, 18:16  [ТС]
gray_fox, ага, понятно. Щас попробую.

Добавлено через 4 часа 41 минуту
Блин если создать со всех файлов src .cpp/.c создать обьектные файлы .o все равно куча ошибок.
Вот мой makefile:
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
CC = g++
EXE = nvTest
 
DIR1 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include"
DIR2 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\GLEW\include"
DIR3 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\include"
DIR4 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\include"
DIR5 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\include"
DIR6 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvGUI\include"
 
FILE1 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\GLEW\src\glew.c"
FILE2 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImage.cpp"
FILE3 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImageDDS.cpp"
FILE4 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImageHdr.cpp"
FILE5 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImagePng.cpp"
FILE6 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\rgbe.cpp"
FILE8 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\src\nvModel.cpp"
FILE9 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\src\nvModelObj.cpp"
FILE10 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\src\nvModelQuery.cpp"
FILE11 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\src\nvGlutWidgets.cpp"
FILE12 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\src\nvGLWidgets.cpp"
FILE13 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\src\nvWidgets.cpp"
FILE_MAIN += main.cpp
FILE_MAIN += $(FILE1)
FILE_MAIN += $(FILE2)
FILE_MAIN += $(FILE3)
FILE_MAIN += $(FILE4)
FILE_MAIN += $(FILE5)
FILE_MAIN += $(FILE6)
FILE_MAIN += $(FILE8)
FILE_MAIN += $(FILE9)
FILE_MAIN += $(FILE10)
FILE_MAIN += $(FILE11)
FILE_MAIN += $(FILE12)
FILE_MAIN += $(FILE13)
 
OFILE1 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\GLEW\src\glew.o"
OFILE2 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImage.o"
OFILE3 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImageDDS.o"
OFILE4 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImageHdr.o"
OFILE5 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\nvImagePng.o"
OFILE6 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\src\rgbe.o"
OFILE8 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\src\nvModel.o"
OFILE9 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\src\nvModelObj.o"
OFILE10 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\src\nvModelQuery.o"
OFILE11 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\src\nvGlutWidgets.o"
OFILE12 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\src\nvGLWidgets.o"
OFILE13 = "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\src\nvWidgets.o"
OFILE_MAIN += main.o
OFILE_MAIN += $(OFILE1)
OFILE_MAIN += $(OFILE2)
OFILE_MAIN += $(OFILE3)
OFILE_MAIN += $(OFILE4)
OFILE_MAIN += $(OFILE5)
OFILE_MAIN += $(OFILE6)
OFILE_MAIN += $(OFILE8)
OFILE_MAIN += $(OFILE9)
OFILE_MAIN += $(OFILE10)
OFILE_MAIN += $(OFILE11)
OFILE_MAIN += $(OFILE12)
OFILE_MAIN += $(OFILE13)
 
INCLUDE += $(DIR1)
INCLUDE += $(DIR2)
INCLUDE += $(DIR3)
INCLUDE += $(DIR4)
INCLUDE += $(DIR5)
INCLUDE += $(DIR6)
all: objectFile
    $(CC) $(OFILE_MAIN) -o $(EXE) $(INCLUDE)
objectFile:
    $(CC) -c $(FILE_MAIN)
Хотелось бы весь этот ужас упростить, но не знаю как.
Вот часть ошибок
C++
1
2
3
C:\QTProjects\MESFC-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\..\..\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\include\nvModel.h:29: In file included from ..\..\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\include/nvModel.h:29,
C:\QTProjects\MESFC-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\..\..\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\GLEW\include\GL\glew.h:5913: ошибка: 'GLint64EXT' has not been declared
и др.
Добавлено через 5 минут
у меня есть файлы .lib, что можно из них сделать и как?

Добавлено через 11 минут
OhMyGodSoLong, понятно. Что они дают?
Вот я прицепляю их:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CC = g++
EXE = nvTest
 
DIR1 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include"
DIR2 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\GLEW\include"
DIR3 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\include"
DIR4 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvWidgets\include"
DIR5 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvImage\include"
DIR6 = -I"C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvGUI\include"
 
LIB = -static "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\lib\nvModel.lib"
 
INCLUDE += $(DIR1)
INCLUDE += $(DIR2)
INCLUDE += $(DIR3)
INCLUDE += $(DIR4)
INCLUDE += $(DIR5)
INCLUDE += $(DIR6)
all:
    $(CC) main.cpp -o $(EXE) $(INCLUDE) $(LIB)
Но опять ошибки! Не знаю почему. Вот log ошибок, которые я вывел в файл
Кликните здесь для просмотра всего текста
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
In file included from C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvMath.h:54:0,
                 from main.cpp:2:
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h: In function 'nv::vec2<T>& nv::operator/=(nv::vec2<T>&, const nv::vec2<T>&)':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:156:17: error: invalid use of 'this' in non-member function
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h: In function 'typename T::value_type nv::dot(const T&, const T&)':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:681:5: error: need 'typename' before 'T:: value_type' because 'T' is a dependent scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:681:19: error: expected ';' before 'r'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:682:41: error: 'r' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:683:12: error: 'r' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h: In function 'typename T::value_type nv::length(const T&)':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:689:5: error: need 'typename' before 'T:: value_type' because 'T' is a dependent scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:689:19: error: expected ';' before 'r'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:690:41: error: 'r' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:691:31: error: 'r' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h: In function 'typename T::value_type nv::square_norm(const T&)':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:697:5: error: need 'typename' before 'T:: value_type' because 'T' is a dependent scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:697:19: error: expected ';' before 'r'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:698:41: error: 'r' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:699:12: error: 'r' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h: In function 'T nv::normalize(const T&)':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:705:5: error: need 'typename' before 'T:: value_type' because 'T' is a dependent scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:705:19: error: expected ';' before 'sum'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:708:9: error: 'sum' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvVector.h:709:5: error: 'sum' was not declared in this scope
In file included from C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvMath.h:55:0,
                 from main.cpp:2:
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvMatrix.h: In member function 'nv::vec4<T> nv::matrix4<T>::get_column(int) const':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvMatrix.h:168:54: error: 'r' was not declared in this scope
In file included from C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvMath.h:56:0,
                 from main.cpp:2:
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h: In member function 'const T* nv::quaternion<T>::get_value() const':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:111:18: error: 'q' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h: In member function 'void nv::quaternion<T>::get_value(T&, T&, T&, T&) const':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:116:14: error: 'q' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h: In member function 'nv::quaternion<T>& nv::quaternion<T>::set_value(const nv::vec3<T>&, const nv::vec3<T>&)':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:278:18: error: missing template arguments before 'v'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:278:18: error: expected ';' before 'v'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:281:17: error: 'v' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:283:17: error: 'v' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:285:13: error: 'v' was not declared in this scope
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h: In member function 'void nv::quaternion<T>::mult_vec(nv::vec3<T>&) const':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:364:22: error: missing template arguments before '(' token
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h: In member function 'void nv::quaternion<T>::scale_angle(T)':
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:368:14: error: missing template arguments before 'axis'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:368:14: error: expected ';' before 'axis'
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\include/nvQuaternion.h:371:19: error: 'axis' was not declared in this scope
mingw32-make: *** [all] Error 1


Добавлено через 1 минуту
Не видит некоторые переменные. Но как мне .lib прицепить? И что потом нужно будет приложению для запуска?

Добавлено через 12 минут
заменил эту строку makefile:
C++
1
$(CC) main.cpp -o $(EXE) $(INCLUDE) $(LIB)
на эту:
C++
1
$(CC) main.cpp $(LIB) -o $(EXE) $(INCLUDE)
И в LIB убрал ключ -static. Ничего не изменилось. Те же ошибки.
Что же я не так линкую?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru