OSG::CompileConfig Struct Reference

List of all members.

Public Member Functions

Constructors


 CompileConfig (UInt16 major, UInt16 minor, UInt16 release, bool debug, bool dll, bool mt)
bool compare (const CompileConfig &c)

Public Attributes

Members


UInt16 _major
UInt16 _minor
UInt16 _release
bool _mt
bool _dll
bool _debug

Detailed Description

Definition at line 90 of file OSGBaseInitFunctions.cpp.


Constructor & Destructor Documentation

OSG::CompileConfig::CompileConfig ( UInt16  major,
UInt16  minor,
UInt16  release,
bool  debug,
bool  dll,
bool  mt 
)

Definition at line 123 of file OSGBaseInitFunctions.cpp.

00128                                       :
00129     _major  (major  ),
00130     _minor  (minor  ),
00131     _release(release),
00132     _debug  (debug  ),
00133     _dll    (dll    ),
00134     _mt     (mt     )
00135 {
00136 }


Member Function Documentation

bool OSG::CompileConfig::compare ( const CompileConfig c  ) 

Definition at line 138 of file OSGBaseInitFunctions.cpp.

References _debug, _dll, _major, _minor, _mt, _release, FDEBUG, FFATAL, FNOTICE, and FWARNING.

Referenced by OSG::osgInit().

00139 {
00140     FDEBUG(("CompileConfig::compare: lib: version %d.%d.%d, %sdebug, %sdll, "
00141             "%smt \n",
00142             _major, 
00143             _minor, 
00144             _release, 
00145             _debug ? "" : "non-", 
00146             _dll   ? "" : "non-", 
00147             _mt    ? "" : "non-"));
00148 
00149     FDEBUG(("CompileConfig::compare: prog: version %d.%d.%d, %sdebug, %sdll, "
00150             "%smt \n",
00151             c._major, 
00152             c._minor, 
00153             c._release, 
00154             c._debug ? "" : "non-", 
00155             c._dll   ? "" : "non-", 
00156             c._mt    ? "" : "non-"));
00157              
00158     if(_major != c._major)
00159     {
00160         FFATAL(("The program is compiled against version %d headers, "
00161                 "but the library is version %d! It's a miracle it linked, "
00162                 "but it will not work.\n", 
00163                   _major, 
00164                 c._major));
00165         return true;
00166     }
00167 
00168     if(_minor != c._minor)
00169     {
00170         FWARNING(("The program is compiled against version %d.%d headers, "
00171                   "but the library is version %d.%d! This is not recommended "
00172                   "use at your own risk.\n", 
00173                     _major, 
00174                     _minor, 
00175                   c._major, 
00176                   c._minor));
00177     }
00178 
00179     if(_release != c._release)
00180     {
00181         FNOTICE(("The program is compiled against version %d.%d.%d headers, "
00182                  "but the library is version %d.%d.%d! This should "
00183                  "work fine, but if you have problems please mention it "
00184                  "in your report.\n", 
00185                    _major, 
00186                    _minor, 
00187                    _release,
00188                  c._major, 
00189                  c._minor, 
00190                  c._release));
00191     }
00192 
00193     if(_mt != c._mt)
00194     {
00195         FFATAL(("The program is linked against the %s-threaded runtime lib, "
00196                 "but the library is linked against the %s-threaded one! "
00197                 "This will lead to memory corruption, please link the "
00198                 "%s-threaded lib (use /M%s%s instead of /M%s%s)!\n", 
00199                 c._mt    ? "multi" : "single", 
00200                   _mt    ? "multi" : "single", 
00201                   _mt    ? "multi" : "single",
00202                   _mt    ? "D"     : "L", 
00203                   _debug ? "d"     : "",
00204                   _mt    ? "L"     : "D", 
00205                   _debug ? "d"     : ""));
00206         return true;
00207     }
00208     
00209 #ifdef WIN32
00210     if(_debug != c._debug)
00211     {
00212         FFATAL(("The program is linked against the %sdebug runtime lib, "
00213                 "but the library is linked against the %sdebug one! "
00214                 "This will lead to memory corruption, please link the "
00215                 "%sdebug lib (use /M%s%s instead of /M%s%s)!\n", 
00216                 c._debug ? ""  : "non-", 
00217                   _debug ? ""  : "non-", 
00218                   _debug ? ""  : "non-",
00219                   _mt    ? "D" : "L", 
00220                   _debug ? "d" : "", 
00221                   _mt    ? "D" : "L", 
00222                   _debug ? "d" : ""));
00223 
00224         return true;
00225     }
00226 #endif
00227 
00228     return false;
00229 }


Member Data Documentation

Definition at line 110 of file OSGBaseInitFunctions.cpp.

Referenced by compare().

Definition at line 111 of file OSGBaseInitFunctions.cpp.

Referenced by compare().

Definition at line 112 of file OSGBaseInitFunctions.cpp.

Referenced by compare().

Definition at line 116 of file OSGBaseInitFunctions.cpp.

Referenced by compare().

Definition at line 117 of file OSGBaseInitFunctions.cpp.

Referenced by compare().

Definition at line 118 of file OSGBaseInitFunctions.cpp.

Referenced by compare().


The documentation for this struct was generated from the following file: