Compiler Flags for Windows 32-bit Visual C++ 2005 SP1

From DocR21

Jump to: navigation, search

 

Contents

ARCH

ACIS and InterOp ARCH names for the Windows platform, Microsoft Visual Studio C++ 2005 SP1 Compiler (32-bit), are as follows:

NT_VC8_DLL 32-bit release ACIS/InterOp libraries
NT_VC8_DLLD 32-bit debug ACIS/InterOp libraries

Compiler Type

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86

Setup

Description NT_VC8_DLL NT_VC8_DLLD
Compiler Flags
/EHa Enable asynchronous C++ exception handling. X X
/MD Link with multi-threaded release run-time. X
/MDd Link with multi-threaded debug run-time. X
Preprocessor Directives
_DEBUG Debug build X
_WINDOWS MS specific X X
ANSI Enable ANSI prototyping. X X
NDEBUG Release build X
NT Define the base architecture. X X
NT_VC8_DLL Define this to force link ACIS/InterOp release libraries. X
NT_VC8_DLLD Define this to force link ACIS/InterOp debug libraries. X
SPA_NO_AUTO_LINK Define this to disable force linking of ACIS/InterOp libraries. X X
Linker Options

link /LIB /NODEFAULTLIB /DEF: /MACHINE:IX86
link /DLL /FORCE:MULTIPLE /MACHINE:IX86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oeaut32.lib uuid.lib

X X
Special Notes
  • Each sample has _vc8.* appended to its name when installed, for example, <sample_name>_vc8.vcproj.
  • Manifest files are embedded only in the DLL files for VC8; they are not embedded in the VC8 executables.
  • The portion of your application that links against ACIS must be built with the compilation flag /EHa. This is new with VS2005. VS2005 has a more strict implementation of try/catch. Formerly, if you built /EHs with VC6 or VC7(.1), try/catch blocks would catch asynchronous exceptions and would invoke the ACIS-structured exception handler (assuming the asynchronous exception happened in an ACIS API block or EXCEPTION block). With VS2005, however, asynchronous exceptions are not caught in an /EHs built try/catch block.

See Also

Personal tools
Live