Compiler and Linker Options for the RTX64 Application Wizard Using Visual Studio 2012
RTX64 SDK Versions Prior to RTX64 2014 with Service Pack 1
IMPORTANT! The content in this topic is only applicable to the Application Wizard available in versions of the RTX64 SDK prior to RTX64 3.7. For instructions on using the newer templates, see Using the RTX64 Application Template and Using the RTX64 RTDLL Template.
The RTX64 Application Wizard in Microsoft Visual Studio provides four configurations for creating applications or DLLs:
- RTSSDebug – Real-time application or RTDLL that has debug flags enabled
- RTSSRelease – Real-time application or RTDLL without additional debug information
- Debug – Windows 64-bit application or RTDLL linked to RTX64 that has debug flags enabled
- Release – Windows 64-bit application or RTDLL linked to RTX64
The tables below list the RTSS compiler and linker options that differ from the default Windows console application options and RTX product compiler and linker options.
Application Projects
Compiler Options
General
Additional Include Directories |
$(RTX64SDKDIR <MAJORVERSION>)include;% + inherit
|
$(RTX64SDKDIR <MAJORVERSION>)include;% + inherit
|
$(RTX64SDKDIR <MAJORVERSION>)include;% + inherit
|
$(RTX64SDKDIR <MAJORVERSION>)include;% + inherit
|
Debug Information Format |
Program Database (/Zi) |
Program Database (/Zi) |
Program Database (/Zi) |
Program Database (/Zi) |
Optimization
Optimization |
Disabled (/Od) |
Full Optimization (/Ox) |
Disabled (/Od) |
Maximize Speed (/02) |
Whole Program Optimization |
No |
No |
No |
Yes (/GL) |
Preprocessor
Preprocessor Defines |
_AMD64_
_M_AMD64_
UNDER_RTSS
_DEBUG
+ inherit
NOTE: Include the UNDER_RTSS_UNSUPPORTED_CRT_APIS define to see what C Runtime functions have been deprecated.
|
_AMD64_
_M_AMD64_
UNDER_RTSS
NDEBUG
+ inherit
NOTE: Include the UNDER_RTSS_UNSUPPORTED_CRT_APIS define to see what C Runtime functions have been deprecated.
|
_DEBUG
_CONSOLE + inherit
|
NDEBUG
_CONSOLE + inherit
|
NOTE: Include the UNDER_RTSS_UNSUPPORTED_CRT_APIS define to see what C Runtime functions have been deprecated.
Code Generation
Enable Minimal Rebuild |
Yes (/Gm) |
No (/Gm-) |
Yes (/Gm) |
No (/Gm-) |
Enable C++ Exceptions |
Yes (/EHsc) |
Yes (/EHsc) |
Yes (/EHsc) |
Yes (/EHsc) |
Basic Runtime Checks |
Default |
Default |
Both (/RTC1, equiv. to /RTCsu) (/RTC1) |
Default |
Runtime Library |
Multi-threaded Debug (/MTd) |
Multi-threaded (/MT) |
Multi-threaded Debug DLL (/MDd) |
Multi-threaded DLL (/MD) |
Buffer Security Check |
Yes (/GS-) |
No (/GS-) |
Yes (/GS) |
Yes (/GS) |
Floating Point Model |
Precise (/fp:precise) |
Precise (/fp:precise) |
Precise (/fp:precise) |
Precise (/fp:precise) |
Linker Options
General
Additional Library Directories |
$(RTX64SDKDIR <MAJORVERSION>)lib\$(Rtx64Platform);% + inherit
|
$(RTX64SDKDIR <MAJORVERSION>)lib\$(Rtx64Platform);% + inherit |
$(RTX64SDKDIR <MAJORVERSION>)lib\$(Rtx64Platform);% + inherit |
$(RTX64SDKDIR <MAJORVERSION>)lib\$(Rtx64Platform);% + inherit |
Input
Additional Dependencies |
startupCRT.lib;libcmtd.lib; libcpmtd.lib;rtx_rtss.lib |
startupCRT.lib;libcmt.lib; libcpmt.lib;rtx_rtss.lib
|
rtapi.lib + inherit |
rtapi.lib + inherit |
Ignore All Default Libraries |
Yes (/NODEFAULTLIB) |
Yes (/NODEFAULTLIB) |
No |
No |
Manifest
Generate Manifest |
No (/MANIFEST:NO) |
No (/MANIFEST:NO) |
Yes (/MANIFEST) |
Yes (/MANIFEST) |
Enable User Account Control (UAC) |
No (/MANIFESTUAC:NO) |
No (/MANIFESTUAC:NO) |
Yes (/MANIFESTUAC:) |
Yes (/MANIFESTUAC:) |
System
Subsystem |
Native (/SUBSYSTEM: NATIVE)
|
Native (/SUBSYSTEM: NATIVE) |
Console (/SUBSYSTEM: CONSOLE) |
Console (/SUBSYSTEM: CONSOLE) |
Driver |
Driver (/Driver) |
Driver (/Driver) |
Not Set |
Not Set |
Advanced
Entry Point |
_RtapiProcessEntry or_RtapiProcessEntryCRT
|
_RtapiProcessEntry or_RtapiProcessEntryCRT
|
|
|
Randomized Base Address |
|
|
Yes (/DYNAMICBASE) |
Yes (/DYNAMICBASE) |
Data Execution Prevention (DEP) |
|
|
Yes (/NXCOMPAT) |
Yes (/NXCOMPAT) |
Target Machine |
MachineX64 (/MACHINE:X64) |
MachineX64 (/MACHINE:X64) |
MachineX64 (/MACHINE:X64) |
MachineX64 (/MACHINE:X64) |
DLL Projects
Compiler Options
General
Additional Include Directories |
$(RTX64SDKDIR2)\include + Inherit |
$(RTX64SDKDIR2)\include + Inherit |
$(RTX64SDKDIR2)\include + Inherit |
$(RTX64SDKDIR2)\include + Inherit |
Debug Information Format |
Program Database (/Zi) |
Program Database (/Zi) |
Program Database (/Zi) |
|
Warning Level |
Level3 (/W3) |
Level3 (/W3) |
Level3 (/W3) |
Level3 (/W3) |
Optimization
Optimization |
Disabled (/Od) |
Full Optimization (/Ox) |
Disabled (/Od) |
Maximum Speed (/O2) |
Whole Program Optimization |
No |
No |
No |
Yes (/GL) |
Preprocessor
Preprocessor Defines |
_AMD64_
_M_AMD64_
UNDER_RTSS
_DEBUG
RTX64_EXPORTS
+ inherit
|
_AMD64_
_M_AMD64_
UNDER_RTSS
NDEBUG
RTX64_EXPORTS
+ inherit
|
_DEBUG
_WINDOWS
_USRDLL
DLL64 _EXPORTS + inherit
|
WIN32
NDEBUG
_WINDOWS
_USRDLL
DLL64_EXPORTS + inherit
|
Code Generation
Enable Minimal Rebuild |
Yes (/Gm) |
No (/Gm-) |
Yes (/Gm) |
No (/Gm-) |
Enable C++ Exceptions |
Yes (/EHsc) |
Yes (/EHsc) |
Yes (/EHsc) |
Yes (/EHsc) |
Basic Runtime Checks |
Default |
Default |
Both (/RTC1, equiv. to /RTCsu) (/RTC1) |
Default |
Runtime Library |
Multi-threaded Debug (/MTd) |
Multi-threaded (/MT) |
Multi-threaded Debug DLL (/MDd) |
Multi-threaded DLL (/MD) |
Buffer Security Check |
Yes (/GS-) |
No (/GS-) |
Yes (/GS) |
Yes (/GS) |
Floating Point Model |
Precise (/fp:precise) |
Precise (/fp:precise) |
Precise (/fp:precise) |
Precise (/fp:precise) |
Linker Options
Input
Additional Dependencies |
startupDllCrt.lib;libcmtd.lib; libcpmtd.lib;rtx_rtss.lib
|
startupDllCrt.lib;libcmt.lib; libcpmt.lib;rtx_rtss.lib |
rtapi.lib + inherit |
rtapi.lib + inherit |
Ignore All Default Libraries |
Yes (/NODEFAULTLIB) |
Yes (/NODEFAULTLIB) |
No |
No |
Manifest
Generate Manifest |
No (/MANIFEST:NO) |
No (/MANIFEST:NO) |
Yes (/MANIFEST) |
Yes (/MANIFEST) |
Enable User Account Control (UAC) |
No (/MANIFESTUAC:NO) |
No (/MANIFESTUAC:NO) |
Yes (/MANIFESTUAC:) |
Yes (/MANIFESTUAC:) |
System
SubSystem |
Native (/SUBSYSTEM: NATIVE) |
Native (/SUBSYSTEM: NATIVE) |
Console (/SUBSYSTEM: CONSOLE) |
Console (/SUBSYSTEM: CONSOLE) |
Driver |
Driver (/Driver) |
Driver (/Driver) |
Not Set |
Not Set |
Advanced
Entry Point |
_RtapiDllEntry or
_RtapiDllEntryCRT
|
_RtapiDllEntry or_RtapiDllEntryCRT |
|
|
Randomized Base Address |
|
|
Yes (/DYNAMICBASE) |
Yes (/DYNAMICBASE) |
Data Execution Prevention (DEP) |
|
|
Yes (/NXCOMPAT) |
Yes (/NXCOMPAT) |
Target Machine |
MachineX64 (/MACHINE:X64) |
MachineX64 (/MACHINE:X64) |
MachineX64 (/MACHINE:X64) |
MachineX64 (/MACHINE:X64) |