Project Settings
Previous  Top  Next


To access the settings for a project, select the menu item "Project->Settings…"

Most of the default settings created by MSVC for a "Win32 Console Application" can be used.

Listed below are the specific changes involved in for CAVELib applications. Note that for each project you may make changes for "Debug", "Release", or "All Configurations". Except where noted, the changes listed below should be done with "All Configurations" being selected in the pull-down menu of "Settings for:" which is in the upper right hand corner of the "Project Settings" dialog box. Also, be sure to have selected in the left pane of the workspace the correct project you wish to make changes too, it will be the project in bold typeface.

C/C++ settings

Under the "C/C++" tab in the "Project Settings" dialog box there are a variety of setting that effect the compiling stage of the source code. These settings are grouped into various categories. Please be sure to setup the following settings for the correct category that is listed.

From the "Category:" pull-down menu select "Code Generation" and be sure to use either of the following settings for optimized or debug, static or run-time CAVELib to compile with:

·Under the "Use run-time library:" pull-down menu select "Multi-threaded DLL" or "Debug Multi-threaded DLL" if linking to the libcave_ogl_mt_MD.lib or libcave_ogl_mt_MDd.lib, respectively.  
·Under the "Use run-time library:" pull-down menu select "Multi-threaded" or "Debug Multi-threaded" if linking to the libcave_ogl_mt_MT.lib or libcave_ogl_mt_MTd.lib respectively.  
 
Change the "Category:" pull-down menu to "Preprocessor" and make the following changes:

·To the "Preprocessor definitions:" line add the following symbol: "STRICT" for strong type checking is recommended.  
·Add to the "Additional include directories:" line the location of the CAVELib include directory, either as a relative path from this project or as an absolute path. The relative path "..\..\include" works if your new project is created in the same directory as the other example apps, otherwise you will need to adjust it accordingly. For portability it is recommended to use relative paths if at all possible.  
 
Link settings

Under the "Link" tab in the "Project Settings" window there are a variety of settings that affect the compiling stages of the source code. These settings are also grouped into various categories.

Select the category "Input" and make the following changes:

·In the "Object/Library modules:" text box add "opengl32.lib glu32.lib wsock32.lib" separated by spaces.  
·Also add to this line the appropriate name of the version of the CAVELib you are linking to, which is determined by the Code Generation settings described in the above section, ie, "libcave_ogl_mt_MD.lib" if you selected "Multi-thread DLL" for the C run-time.  
·Add to the "Additional library path:" text box the location of the CAVELib lib\ directory. This can be either a relative or absolute path. For example, given the example apps initial installed location, "..\..\lib32" will work.  

NOTE – When linking using the versions of the CAVELib that were compiled using the debug versions of the C run-time, libcave_ogl_mt_MDd.lib or libcave_ogl_mt_MTd.lib the linker may report the following warning:

LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library

This may be a result of the fact that the CAVELib library itself is compiled to use the Debug C run-time lib, but the CAVELib includes code from FlexLM for licensing that was compiled with the release versions only of the C run-time lib. In this case, the warning should be harmless because FlexLM and CAVELib do not exchange any heap allocated memory, which is typically where errors occur because the Release C libraries allocated memory differently that the Debug C libraries.