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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.73
No10
 Аватар для No10
30 / 28 / 2
Регистрация: 03.06.2010
Сообщений: 465
24.05.2013, 22:06     Правильная линковка библиотек #1
Долго искал в интернете, ничего толкового не нашёл, решил спросить тут. После создания приложения компилятор прицепляет файл статически, либо они должны быть в папке с проектом. Так вот зачем нужны .dll библиотеки? Как работают в IDE и для чего файлы с расширением .a
Часто скачав библиотеку вижу такую картину:
Правильная линковка библиотек
Все понятно, в include - файлы заголовков, в src - Source, lib - непонятные файлы .a
Зайдя в компилятор мы видим такое:
Правильная линковка библиотек
Некоторые папки сходятся, а некоторые нет. Куда девать папку src?
Но файлы не обязательно помешать в компилятор, но если мы хотим их прицепить по типу
C++
1
2
3
4
5
6
7
#include <nvModel/nvModel.h>
//или вообще так
#include <nvModel>
//ну или так
#include <NVIDIA/nvModel.h>
//а никак не так
#include "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\include\nvModel.h"
Нашёл статью на хабре "makefile для самых маленьких". написано доступно, на Windows не работает.
Что бы понять как действую IDE, нужно выполнить работу за них
  • Как правильно откомпилировать файл имея только блокнот и компилятор?
  • Как правильно прилинковать все библиотеки которых нет?
  • Как для Windows написать makefile?
  • Компилировать допустим через g++ через консоль просто, но как выполнить все выше перечисленные вопросы?
Не поскупитесь на ответы, для Windows на эту тему нет ни книг, не вразумительных статей. Буду черезвычайно благодарен, за объяснения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2013, 22:06     Правильная линковка библиотек
Посмотрите здесь:

Линковка проекта. C++
Линковка библиотек в VS C++2010 C++
C++ Линковка библиотек DirectX SDK
Статическая линковка C++
C++ Линковка плюсового кода
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
25.05.2013, 13:02     Правильная линковка библиотек #21
No10, влюбом случае: вот ты инклюдишь что из nvModel/include, например, там ведь только объявления, надо компоновать с реализацией: либо со статической библиотекой, либо компилировать каждый раз nvModel/src и компоновать с получившимися объектными файлами.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
No10
 Аватар для No10
30 / 28 / 2
Регистрация: 03.06.2010
Сообщений: 465
25.05.2013, 13:03  [ТС]     Правильная линковка библиотек #22
если я меня порядок -I<dir> в makefile, идентичные ошибки. Мне показалось что он просил включить файл gl.h, но я ошибся, даже с влюченным файлом те же ошибки.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
25.05.2013, 13:04     Правильная линковка библиотек #23
Цитата Сообщение от No10 Посмотреть сообщение
Прилинковал нормально, ошибки те же.
Ну я не знаю тогда, там документация чей есть, почитайте...
No10
 Аватар для No10
30 / 28 / 2
Регистрация: 03.06.2010
Сообщений: 465
25.05.2013, 18:16  [ТС]     Правильная линковка библиотек #24
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. Ничего не изменилось. Те же ошибки.
Что же я не так линкую?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
25.05.2013, 18:17     Правильная линковка библиотек #25
Цитата Сообщение от No10 Посмотреть сообщение
Но как мне .lib прицепить?
Предположу вместо
Цитата Сообщение от No10 Посмотреть сообщение
LIB = -static "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\lib\nvModel.lib"
вот так
Код
LDFLAGS = -L"C:/Program Files (x86)/NVIDIA Corporation/NVIDIA OpenGL SDK 10/common/nvModel/lib"
LIBS = -lnvModel
Добавлено через 27 секунд
Потом вместо $(LIB) писать $(LDFLAGS) $(LIBS)
Может поможет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2013, 18:33     Правильная линковка библиотек
Еще ссылки по теме:

C++ Статическая линковка boost
C++ Статическая линковка
C++ Статическая линковка MinGW

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

Или воспользуйтесь поиском по форуму:
No10
 Аватар для No10
30 / 28 / 2
Регистрация: 03.06.2010
Сообщений: 465
25.05.2013, 18:33  [ТС]     Правильная линковка библиотек #26
gray_fox, ошибки все равно. Чуть порыскав по исходникам нашёл файлы VS. Но у них специфичный makefile.
Вот что в них:
nvModel.vcproj
Кликните здесь для просмотра всего текста
XML
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
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
    ProjectType="Visual C++"
    Version="7.10"
    Name="nvModel"
    ProjectGUID="{70B1EF53-61A2-49BC-831D-C56C1F75F5DB}"
    Keyword="Win32Proj">
    <Platforms>
        <Platform
            Name="Win32"/>
    </Platforms>
    <Configurations>
        <Configuration
            Name="Debug|Win32"
            OutputDirectory="../../bin"
            IntermediateDirectory="Debug"
            ConfigurationType="2"
            CharacterSet="2">
            <Tool
                Name="VCCLCompilerTool"
                Optimization="0"
                AdditionalIncludeDirectories="include;../GLEW/include;../include"
                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;NVMODEL_EXPORTS"
                MinimalRebuild="TRUE"
                BasicRuntimeChecks="3"
                RuntimeLibrary="1"
                UsePrecompiledHeader="0"
                WarningLevel="3"
                Detect64BitPortabilityProblems="TRUE"
                DebugInformationFormat="4"/>
            <Tool
                Name="VCCustomBuildTool"/>
            <Tool
                Name="VCLinkerTool"
                OutputFile="../../bin/nvModeld.dll"
                LinkIncremental="2"
                GenerateDebugInformation="TRUE"
                ProgramDatabaseFile="$(OutDir)/nvModeld.pdb"
                SubSystem="2"
                ImportLibrary="lib/nvModeld.lib"
                TargetMachine="1"/>
            <Tool
                Name="VCMIDLTool"/>
            <Tool
                Name="VCPostBuildEventTool"/>
            <Tool
                Name="VCPreBuildEventTool"/>
            <Tool
                Name="VCPreLinkEventTool"/>
            <Tool
                Name="VCResourceCompilerTool"/>
            <Tool
                Name="VCWebServiceProxyGeneratorTool"/>
            <Tool
                Name="VCXMLDataGeneratorTool"/>
            <Tool
                Name="VCWebDeploymentTool"/>
            <Tool
                Name="VCManagedWrapperGeneratorTool"/>
            <Tool
                Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
        </Configuration>
        <Configuration
            Name="Release|Win32"
            OutputDirectory="../../bin"
            IntermediateDirectory="Release"
            ConfigurationType="2"
            CharacterSet="2">
            <Tool
                Name="VCCLCompilerTool"
                AdditionalIncludeDirectories="include;../GLEW/include;../include"
                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;NVMODEL_EXPORTS"
                RuntimeLibrary="0"
                UsePrecompiledHeader="0"
                WarningLevel="3"
                Detect64BitPortabilityProblems="TRUE"
                DebugInformationFormat="3"/>
            <Tool
                Name="VCCustomBuildTool"/>
            <Tool
                Name="VCLinkerTool"
                OutputFile="../../bin/nvModel.dll"
                LinkIncremental="1"
                GenerateDebugInformation="TRUE"
                SubSystem="2"
                OptimizeReferences="2"
                EnableCOMDATFolding="2"
                ImportLibrary="lib/nvModel.lib"
                TargetMachine="1"/>
            <Tool
                Name="VCMIDLTool"/>
            <Tool
                Name="VCPostBuildEventTool"/>
            <Tool
                Name="VCPreBuildEventTool"/>
            <Tool
                Name="VCPreLinkEventTool"/>
            <Tool
                Name="VCResourceCompilerTool"/>
            <Tool
                Name="VCWebServiceProxyGeneratorTool"/>
            <Tool
                Name="VCXMLDataGeneratorTool"/>
            <Tool
                Name="VCWebDeploymentTool"/>
            <Tool
                Name="VCManagedWrapperGeneratorTool"/>
            <Tool
                Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
        </Configuration>
    </Configurations>
    <References>
    </References>
    <Files>
        <Filter
            Name="Source Files"
            Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
            UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
            <File
                RelativePath=".\src\nvModel.cpp">
            </File>
            <File
                RelativePath=".\src\nvModelObj.cpp">
            </File>
            <File
                RelativePath=".\src\nvModelQuery.cpp">
            </File>
        </Filter>
        <Filter
            Name="Header Files"
            Filter="h;hpp;hxx;hm;inl;inc;xsd"
            UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
            <File
                RelativePath=".\include\nvModel.h">
            </File>
        </Filter>
        <Filter
            Name="Resource Files"
            Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
            UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
        </Filter>
    </Files>
    <Globals>
    </Globals>
</VisualStudioProject>

И вот ещё один:
nvModel.sln
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nvModel", "nvModel.vcproj", "{70B1EF53-61A2-49BC-831D-C56C1F75F5DB}"
    ProjectSection(ProjectDependencies) = postProject
    EndProjectSection
EndProject
Global
    GlobalSection(SolutionConfiguration) = preSolution
        Debug = Debug
        Release = Release
    EndGlobalSection
    GlobalSection(ProjectConfiguration) = postSolution
        {70B1EF53-61A2-49BC-831D-C56C1F75F5DB}.Debug.ActiveCfg = Debug|Win32
        {70B1EF53-61A2-49BC-831D-C56C1F75F5DB}.Debug.Build.0 = Debug|Win32
        {70B1EF53-61A2-49BC-831D-C56C1F75F5DB}.Release.ActiveCfg = Release|Win32
        {70B1EF53-61A2-49BC-831D-C56C1F75F5DB}.Release.Build.0 = Release|Win32
    EndGlobalSection
    GlobalSection(ExtensibilityGlobals) = postSolution
    EndGlobalSection
    GlobalSection(ExtensibilityAddIns) = postSolution
    EndGlobalSection
EndGlobal

Для меня это дремучий лес, никогда не пользовался VS. Но понял одно, они шаманят с .dll

Добавлено через 45 секунд
я нашёл папку с .dll!!!
Yandex
Объявления
25.05.2013, 18:33     Правильная линковка библиотек
Ответ Создать тему
Опции темы

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