The macro _RWCONFIG=buildtag handles all SourcePro C++-specific preprocessor macros, but not system-specific requirements. To determine what the system requirements are, consult SourcePro C++ examples log files or makefiles.
But which file should be consulted? A buildspace may contain a large number of different builds, with log files and makefiles for each.
For example, let's assume your application:
will be built with the 12s build configuration
links to the Essential Tools Module and to the trace package of the Threads Module in SourcePro Core
The location of the files that would be best to look at is:
buildspace examples trace 12s some_example.log // FIRST CHOICE makefile // SECOND CHOICE |
It is a good practice to look at the files for the most dependent library. This means that the trace package locations are shown in the example directory rather than the Essential Tools Module locations. Since trace depends on the Essential Tools Module, the trace files will include the requirements for both libraries.
The examples files are preferable to the library files because they most closely represent your situation: building an application based on SourcePro C++ libraries.
Here are a few lines from the examples makefile, including the critical line with the COMPILEFLAGS variable:
#C++ macros TAG=12s CPPINVOKE=cl COMPILEFLAGS=-nologo -EHsc -MD -W3 -O2 -arch:SSE2 -GA -GR \ -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE \ -D_CRT_NONSTDC_NO_DEPRECATE CONFIGDEF=-D_RWCONFIG=$(TAG) |
The COMPILEFLAGS variable tells you the flags you need: -nologo -EHsc -MD -W3 -O2
-arch:SSE2 -GA -GR -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE.
Here is the resulting compile line as shown in the example log file:
cl -D_RWCONFIG=12s -I.\..\..\.. -Ic:\RogueWave\SourcePro\<ver> -Ic:\RogueWave\SourcePro\<ver>\examples\trace -nologo -EHsc -MD -W3 -O2 -arch:SSE2 -GA -GR -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -c c:\RogueWave\SourcePro\<ver>\examples\trace\CoffeeRobot.cpp |
The link line at the end of the log shows the SourcePro C++ libraries and any system libraries that were linked in:
cl /Fe CoffeeRobot.exe CoffeeRobot.obj trace12s.lib tls12s.lib user32.lib /link /LIBPATH:.\..\..\..\lib -nologo |
The example links to the SourcePro C++ libraries tls12s.lib and trace12s.lib, and the system library user32.lib.
Copyright © Rogue Wave Software, Inc. All Rights Reserved.
The Rogue Wave name and logo, and SourcePro, are registered trademarks of Rogue Wave Software. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.