Welcome to mirror list, hosted at ThFree Co, Russian Federation.

README_WIN32.txt « win32_vcpp « bFTGL « extern - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: bc92bbb95911bd9247061e21ae2d3d2d2024807a (plain)
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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
FTGL 1.31

NOTES FOR COMPILING ON WINDOWS 

14 Feb 2002

Ellers, ellers@iinet.net.au





SUPPORTED COMPILERS



I have rebuilt the FTGL project files for Visual C++ (version 6). There are

presently no other compilers or environments supported but feel free to

contribute them. 





QUICK GUIDE: COMPILING FTGL



 - Start up MSVC++ with ftgl.dsw. 

 - Tell MSVC++ where FreeType is. You'll need to do something like this:

 

     *  select Project>Settings

     *  select ftgl_static (for a start)

     *  select "All Configurations"

     *  go to the tab C++ > PreProcessor

     *  Set additional include directories appropriately. For me it is:

        D:\cots\freetype-2.0.5\include

     *  repeat for all configurations of ftgl_dll





QUICK GUIDE: COMPILING/RUNNING SUPPLIED DEMO PROGRAM 



 - The program expects the first argument to be the name of a truetype file.

   I copied timesbi.ttf from the windows directory to C:\TEMP and then edit

   the settings of the project:

   

    * select Project>Settings

    * select Demo project

    * select panel Debug>General

    * set Program Arguments to be "C:\TEMP\timesbi.ttf"





QUICK GUIDE: COMPILING YOUR PROGRAM TO USE FTGL



 - Choose dynamic or static library linkage

     *  if you want to link to a static FTGL library ensure that 

        FTGL_LIBRARY_STATIC is defined in the preprocessor section

     



CONFIGURATION / CODE GENERATION / C LIBRARIES



FTGL can be built in various configurations (inspired by Freetype and libpng):



 - static library (.lib)

 - dynamic library (.dll)

 

MSVC++ requires selection of "code generation" option, which seems to be 

mostly to do with which version of the Standard C library is linked with the

library. 



The following modes are supported:



 - static/dynamic

 - single threaded (ST) or multithreaded (MT)

   NOTE: the multithreaded DLL (MD) mode was NOT included, as freetype itself

         doesn't support that mode so I figure there's no point yet.

 - debug/release (debug has _d suffix)

 

So the static multithreaded release library is:



	ftgl_static_MT.lib

	

The same library built in DEBUG mode:



	ftgl_static_MT_d.lib



If you're not sure which one is appropriate (and if you're a novice don't

been too put off...) start with making the decision about debug or release.

This should be easy because if you're building the debug version of your 

app its probably a good idea to link with the debug version of FTGL (but

not compulsory). Once thats done, you may get errors like:



	LIBCMTD.lib(crt0init.obj) : warning LNK4098: defaultlib "libcmt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library

 

This will happen, for example, when you link a glut app with an FTGL library

compiled with different codegen options than the GLUT library. 



MSVC++ "sort of" 

requires that all libs be linked with the same codegen option. GLUT is built

in XXX mode, so if you're linking with GLUT, you can get rid of the warning

by linking with the XXX version of FTGL. The various versions are particularly

useful if you're doing std C stuff, like printf etc. 







FAQ



Q: "But... do I HAVE to use all these DIFFERENT build modes, like multi-

   threaded, debug single threaded, etc?"

   

A: No. Sometimes library makers only generate one style anyway. It depends

   on your needs. Unless you're linking with standard C stuff (e.g. printf)

   then it probably won't make a great deal of difference. If you get 

   warnings about "default lib libcmt.lib conflicts" etc, then you can make

   use of the different libraries.