Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/64: Рейтинг темы: голосов - 64, средняя оценка - 4.63
 Аватар для No10
32 / 30 / 4
Регистрация: 03.06.2010
Сообщений: 465

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

24.05.2013, 22:06. Показов 14747. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Долго искал в интернете, ничего толкового не нашёл, решил спросить тут. После создания приложения компилятор прицепляет файл статически, либо они должны быть в папке с проектом. Так вот зачем нужны .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 на эту тему нет ни книг, не вразумительных статей. Буду черезвычайно благодарен, за объяснения.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2013, 22:06
Ответы с готовыми решениями:

Статическая линковка библиотек
Блин, ну почему простенькая программа &quot;hello world&quot; (на русском языке) требует библиотеку libstdc++-6.dll ? Если же её прилинковать...

Линковка библиотек в VS C++2010
Где то в параметрах проекта можно производить линковку библиотек к проекту. Кто нибудь знает где это искать., пролазил все настройки не...

Линковка библиотек DirectX SDK
Добрый день, знатоки. У меня проблема с линковкой, поиск юзал, но советы из других тем не помогли. В общем, установил я Microsoft DirectX...

25
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
25.05.2013, 13:02
Студворк — интернет-сервис помощи студентам
No10, влюбом случае: вот ты инклюдишь что из nvModel/include, например, там ведь только объявления, надо компоновать с реализацией: либо со статической библиотекой, либо компилировать каждый раз nvModel/src и компоновать с получившимися объектными файлами.
0
 Аватар для No10
32 / 30 / 4
Регистрация: 03.06.2010
Сообщений: 465
25.05.2013, 13:03  [ТС]
если я меня порядок -I<dir> в makefile, идентичные ошибки. Мне показалось что он просил включить файл gl.h, но я ошибся, даже с влюченным файлом те же ошибки.
0
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
25.05.2013, 13:04
Цитата Сообщение от No10 Посмотреть сообщение
Прилинковал нормально, ошибки те же.
Ну я не знаю тогда, там документация чей есть, почитайте...
0
 Аватар для No10
32 / 30 / 4
Регистрация: 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
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
25.05.2013, 18:17
Цитата Сообщение от No10 Посмотреть сообщение
Но как мне .lib прицепить?
Предположу вместо
Цитата Сообщение от No10 Посмотреть сообщение
LIB = -static "C:\Program Files (x86)\NVIDIA Corporation\NVIDIA OpenGL SDK 10\common\nvModel\lib\nvModel.lib"
вот так
Code
1
2
LDFLAGS = -L"C:/Program Files (x86)/NVIDIA Corporation/NVIDIA OpenGL SDK 10/common/nvModel/lib"
LIBS = -lnvModel
Добавлено через 27 секунд
Потом вместо $(LIB) писать $(LDFLAGS) $(LIBS)
Может поможет
1
 Аватар для No10
32 / 30 / 4
Регистрация: 03.06.2010
Сообщений: 465
25.05.2013, 18:33  [ТС]
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!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2013, 18:33

Статическая линковка библиотек в Code::Blocks
Люди добрые, подскажите пожалуйста как выполнить статическую линковку библиотек в Code::Blocks (16.01).

Линковка библиотек в проекте
Доброго времени суток. Помогите разобраться 5 дней как пытаюсь собрать код, не получается выдает ошибки и вроде все файлы и библиотеки...

Линковка библиотек gcc под линукс
Подключаю Oracle Instant Client, скачал файлики rpm с ихнего сайта, установил их в линуксе (у меня CentOS) Пример, лежит здесь:...

с++ embedded - линковка без стандартных библиотек
с++ такой с++. следующий код (воспринимайте как теоретическое исследование)) #include &lt;windows.h&gt; class class1 { public: ...

Статическая линковка библиотек через cmake
Всем привет. Столкнулся с такой проблемой, для gcc чтоыб он линковал статически с нужными либами передается такой ключ ...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru