Rogue Wave Knowledge Base
Browse by category:
Knowledgebase | Glossary | Ask a Question |

Understanding Rogue Wave Build Codes

Article ID: 1134
Last updated: 31 Jan, 2008
Revision: 1
print  Print
share  Share
Views: 4983
Posted: 25 Jun, 2001
by Dean J.
Updated: 31 Jan, 2008
by Dean J.

I'm confused by the different codes Rogue Wave uses to designate different types of builds.  How do the codes indicate whether or not I'm using a standard library, using a single-threaded or multithreaded build, or building a debug or release version of my application?


Rogue Wave build codes require some explanation.


SPM and RCB Build Configuration Tables

Software Parts Manager (SPM) Build Codes

SPM uses numeric codes with letter suffixes, such as "7s," to designate different types of builds. Once you understand these codes, you can tell at a glance whether a particular build:

  • Requires/supports a standard library
  • Is single-threaded or multithreaded
  • Is a debug or release version
  • Employs static or dynamic binding

SPM build codes are based on the following patterns:

  • Numeric codes range from 0 through 15.
  • Lower-numbered builds (0 through 7) use no standard library, while higher-numbered builds (8 through 15) do. (The system doesn't indicate whether a build uses the Rogue Wave Standard C++ Library, or the native standard library that shipped with your compiler.)
  • Single-threaded builds are 0, 3, 8, and 11, while multithreaded builds are 4, 7, 12, and 15.
  • Debug builds are odd-numbered, while release builds are even-numbered.
  • Static builds end with the letter s, while dynamic (or shared) builds end with d.

These codes are summarized in the following table. 

Software Parts Manager (SPM) Build Codes
Build Code Std Lib Multithreaded Debug Static
0d No No No No
0s No No No Yes
3d No No Yes No
3s No No Yes Yes
4d No Yes No No
4s No Yes No Yes
7d No Yes Yes No
7s No Yes Yes Yes
8d Yes No No No
8s Yes No No Yes
11d Yes No Yes No
11s Yes No Yes Yes
12d Yes Yes No No
12s Yes Yes No Yes
15d Yes Yes Yes No
15s Yes Yes Yes Yes

Rogue Wave Component Builder (RCB) Build Tags

When you use RCB, you can choose either the numeric SPM coding scheme described above, or the RCB coding scheme, which uses a combination of letters to form a descriptive tag. We believe the RCB tags are more intuitive and informative than the SPM numeric code.

In the RCB coding scheme, the letters define builds as follows:

  • x - Uses no standard library
  • r - Uses the Rogue Wave Standard C++ Library
  • q - Uses some other standard library--not the Rogue Wave or the native versions
  • (No code) - Uses the native standard library that shipped with the compiler
  • m - Multithreaded
  • (No code) - Single-threaded
  • s - Static binding
  • (No code)  - Shared (or dynamic) binding
  • d - Debug version
  • (No code) - Release version

As you can see, the RCB tags provide expanded information about which standard library is associated with a particular build: no standard library, the Rogue Wave Standard C++ Library, the compiler's "native" standard library, or some "other" standard library. (Rogue Wave does not support "other" configurations at this time).

Another important difference in the RCB coding scheme is that the absence of a letter is significant. For example, the letter d designates a debug build, and the absence of a letter designates a release build. (Please note a possible source of confusion: under the SPM coding scheme, the letter d stands for dynamic binding.)

As the table below illustrates, not all tags have the same number of letters. In fact, one configuration--a single-threaded, dynamic, release build using a native standard library--has no tag at all. With this particular configuration, you must provide a user tag. (Versions of RCB after 1.0.1 prompt you to supply a user tag; version 1.0.1 exits with a stack trace upon detecting an empty build tag.)

The table below shows the RCB coding scheme, along with the corresponding SPM code.

Rogue Wave Component Builder (RCB) Build Tags
SPM Build Code RCB Tag Std Lib Multithreaded Debug Static Verbose RCB Tag
0d x None No No No _NoStdLib_NoThrLib_Dynamic_Release
0s xs None No No Yes _NoStdLib_NoThrLib_Static_Release
3d xd None No Yes No _NoStdLib_NoThrLib_Dynamic_Debug
3s xsd None No Yes Yes _NoStdLib_NoThrLib_Static_Debug
4d xm None Yes No No _NoStdLib_Win32ThrLib_Dynamic_Release
4s xms None Yes No Yes _NoStdLib_PosixThrLib_Static_Release
7d xmd None Yes Yes No _NoStdLib_Win32ThrLib_Dynamic_Debug
7s xmsd None Yes Yes Yes _NoStdLib_PosixThrLib_Static_Debug
8d r Rogue Wave No No No _RogueWaveStdLib_NoThrLib_Dynamic_Release
8s rs Rogue Wave No No Yes _RogueWaveStdLib_NoThrLib_Static_Release
11d rd Rogue Wave No Yes No _RogueWaveStdLib_NoThrLib_Dynamic_Debug
11s rsd Rogue Wave No Yes Yes _RogueWaveStdLib_NoThrLib_Static_Debug
12d rm Rogue Wave Yes No No _RogueWaveStdLib_Win32ThrLib_Dynamic_Release
12s rms Rogue Wave Yes No Yes _RogueWaveStdLib_PosixThrLib_Static_Release
15d rmd Rogue Wave Yes Yes No _RogueWaveStdLib_Win32ThrLib_Dynamic_Debug
15s rmsd Rogue Wave Yes Yes Yes _RogueWaveStdLib_PosixThrLib_Static_Debug
8d (See note 3 below) Native No No No _NativeStdLib_NoThrLib_Dynamic_Release
8s s Native No No Yes _NativeStdLib_NoThrLib_Static_Release
11d d Native No Yes No _NativeStdLib_NoThrLib_Dynamic_Debug
11s sd Native No Yes Yes _NativeStdLib_NoThrLib_Static_Debug
12d m Native Yes No No _NativeStdLib_PosixThrLib_Dynamic_Release
12s ms Native Yes No Yes _NativeStdLib_SolarisThrLib_Static_Release
15d md Native Yes Yes No _NativeStdLib_PosixThrLib_Dynamic_Debug
15s msd Native Yes Yes Yes _NativeStdLib_SolarisThrLib_Static_Debug
8d q Other No No No _OtherStandardLib_NoThrLib_Dynamic_Release
8s qs Other No No Yes _OtherStandardLib_NoThrLib_Static_Release
11d qd Other No Yes No _OtherStandardLib_NoThrLib_Dynamic_Debug
11s qsd Other No Yes Yes _OtherStandardLib_NoThrLib_Static_Debug
12d qm Other Yes No No _OtherStandardLib_PosixThrLib_Dynamic_Release
12s qms Other Yes No Yes _OtherStandardLib_PosixThrLib_Static_Release
15d qmd Other Yes Yes No _OtherStandardLib_PosixThrLib_Dynamic_Debug
15s qmsd Other Yes Yes Yes _OtherStandardLib_PosixThrLib_Static_Debug

General notes:

1. This is a table that decodes the build codes, not a support matrix. Not all of the build combinations shown are supported by all vendors. For example, Microsoft doesn't support shared (dynamic) single-threaded builds, such as 0d, 3d, 8d, or 11d; Rogue Wave doesn't support non-standard library builds on HPUX; with the SunPro 5.x compiler, only the native standard library that ships with the compiler is supported (Exception: using Compatibility Mode).
2. Not all possible combinations of standard libraries and threading libraries are illustrated. The threading libraries shown represent only some of the combinations that Rogue Wave supports.
3. The native standard library build configuration designated as "8d" under the SPM coding scheme has no tag under the RCB coding scheme. You must supply a user tag with this build configuration if you choose to use the RCB coding scheme.
4. Rogue Wave doesn't support builds using "other" standard libraries. These builds are included in the table only for completeness.

This article was:   Helpful | Not helpful Report an issue

Also listed in
folder SourcePro -> Releases -> Edition 10 SP
folder SourcePro -> Releases -> Edition 1 SP
folder SourcePro -> Releases -> Edition 2 SP
folder SourcePro -> Releases -> Edition 3 SP
folder SourcePro -> Releases -> Edition 4 SP
folder SourcePro -> Releases -> Edition 5 SP
folder SourcePro -> Releases -> Edition 6 SP
folder SourcePro -> Releases -> Edition 7 SP
folder SourcePro -> Releases -> Edition 8 SP
folder SourcePro -> Releases -> Edition 9 SP
folder SourcePro -> Releases -> Edition 9 Update 1 SP

Prev     Next
Building zApp 3.0 as a DLL under Windows 16-bit crashes with...       Trying to rollback a transaction and it is not working

Others in this category
b Using DBTools.J with the Oracle Driver: Objects Are Not Getting Released Correctly
b Core dumps described in the Tools.h++ Professional readme document
b Failure building Standard C++ Library with aCC 3.25
b How can I print charts from Chart.J?
b Installation of StudioJ on Unix or Mac
b The StockCursor SizeCursor is not working in zApp
b Catching exceptions from the inet module in Tools.h++ Professional
b Can Money.h++ be used in multi-threaded applications?
b Objective Grid/J: Database Connectivity
b Software Parts Manager Builds on Unsupported/Non-GUI platforms
b Standard C++ Library manual examples will not build on Solaris
b Using custom build configurations
b The Use of Virtual Destructors in Tools.h++ classes
b Runtime error in DBTools.h++
b How to create a custom overlay
b Retrieving Blobs from Oracle using DBToolsJ
b How do I add a subject header to my SMTP application?
b The addSubItem() method causes the Tree application or applet to freeze at runtime
b JDK 1.1.6 JIT update and later versions cause Labels to disappear in StudioJ
b How do I create a list of lists?
b UnsatisfiedLinkError when installing StudioJ
b StudioJ product unlock code not accepted during installation
b Column titles using center justification disappear when using JFC/Swing
b Retrieving return parameters from oracle Storedprocedures
b Specifying a frozen column attribute does not lock the selected column
b Building native Win32 applications with Visual Cafe using Grid.J.
b When trying to establish a connection to my database using DBTools.h++, I get the error: DB NOT FOUND
b How do I use binaryStoreSize and recursiveStoreSize?
b Using the clipboard paste function with a JMaskEdit control
b Passing strings containing quotes causes problems with DBTools.J
b Location of Visual CASE
b Unlock keys do not work
b RWMutexLock Recursive Acquisition error in Debug - Not True! - Threads 2.0.1 only
b RW virtual streams and RWCollectableString ambiguity error
b TreeControl image not updating correctly in JWidgets
b Creating custom configurations with SPM 1.4
b RWDBTracer and asString() method behave differently in DBTools 4.0.0
b Objective Grid/J: Footprint
b Throwing exceptions using Sybase or MS SQL Server corrupts connections
b Changing the state of a GXCheckBox with a single click when the control does not have focus?
b I cannot execute the script for Software Parts Manager
b Submitting HTML GET/POST Requests to a CGI Program
b Undefined Symbol RWAll when Linking Application
b What relation does the RW Standard C++ Library 1.x have to the ANSI Standard?
b Informix stored procedure does not execute an INSERT
b How to avoid a database hit when instantiating a RWDBStoredProc
b The commit / rollback transaction request has no corresponding BEGIN TRANSACTION
b Trapping shift, escape and return keys for a ComboBox
b How to add ESQL function calls to the Informix Access Library
b Using char datatype in C++ Application for char(1) datatype of the database
b Having problems with the server when using callbacks.
b LAPACK.h++ with Math.h++ v0613 gives dependancy check failure on Solaris 2.5 and SunOS 4.1.x
b RWTime/RWDate displays incorrect time and date
b The zApp isShown() function does not work correctly
b Creating image buttons of the correct size
b Adding a scroll bar to a non-overlay chart in JChart 2.1
b How do I trap the enter key in zComboBox (any type, portable solution)?
b How RWDecimal classes cast ints and doubles
b Modifying zApp 3.0 Makefiles to use Borland v5.02 compiler
b Horizontal Scroll Bars on Combo Boxes
b Can I use DBTools.h++ 3.1.0 with MSVC 5.0?
b Memory Leak in Threads.h++ with POSIX Threads
b Control object minimizes or disappears when moving to another window or dialog.
b Re-definition of parent table alias inside the sub-query of DML
b How can I do Oracle row-level locking with DBTools.h++?
b RAISE ERROR statement in my RWDBStoredProc never catches that error.
b Using the schema from an existing table to create a new table
b Error compiling on SGI
b Default and Explicit Connections and the DBTools Connection Pool
b Can't compile Math.h++ source files on SunOS4.1.3 with SunPro 4.0.1 compiler
b Why does JFactory flicker between the object manager and the integrated editor when I'm trying to edit the source?
b JFactory won't open; gives error
b In Chapter 4 of the tutorial, why can't I find the Menu Edit button?
b When compiling, why can't JDK find LogFontLayout.class?
b SPM doesn't install correctly under Windows
b 'Tried to dereference a null RWENode handle' error running SPM
b 'Unresolved external symbol opinit' runtime error
b Porting Tools Pro.h++ 1.1.2 to Linux
b Command line builds for Threads 2.0.1 on Solaris7 with SunPro 4.2
b When bulk reading a database column that allows NULL values, you must check for null in the receiving vector object.
b Improving the performance of an application that uses a lot of RWCStrings on the heap.
b Resizing a connection pool with the defaultConnections() method does not work
b Changing source code to support link time template instantiation
b Can't Enter Information Into Dialog Boxes
b can't insert an RWDBDateTime object into the database, formatted as a UTC time.
b How to deal with lost database connections?
b Euro conversion rates as of Jan 1, 1999.
b Error when Building DBTools Access library for Oracle8 with Microsoft Standard Library
b Rounding Errors in RWDecimal<T>
b I get error C2065: 'localtime_r' : undeclared identifier
b Tools.h++ compile error: C2065: 'localtime_r' : undeclared identifier
b Why won't the InfoBrowser contents update in response to selection changes in ClassView or FileView?
b I've installed Visual CASE and loaded a project. Now what?
b Why aren't the ATL and MFC libraries just loaded at startup?
b Blend.J's ShortcutBar demo throws exceptions
b Blend.J vertically-oriented sliders don't respond correctly
b How can I tell if my socket's peer closes the socket?
b RWCString::operator[] doesn't compile in MSVC
b Software Parts Manager doesn't run
b hasChanged() method never set to TRUE
b How do I kill all the running threads in RWThreadPool?
b No insertion (<<) or extraction (>>) operator to stream a bool
b Having problems using Standard C++ Library 2.x with Orbix 2000
b Linux multithreaded limitation with the Oracle8 805 client
b RWMetro Supported Platforms, Metro-Platforms
b SQL Server Access Library 3.x does not support bulk operations
b Color printouts of Grid.J lose the background colors
b Using Chart.J with Swing/jfc
b Using RWDBConnection in nested RWDBReaders
b Running setup.exe to install StudioJ
b getNumberRowCol() method in Grid.J throwing exceptions
b Assertion failure with DBTools.h++ examples
b Problems Compiling Math.h++ 6.x on HP, DEC and Windows 3.1
b Binary Files downloaded using Tools.h++ Professional are the Wrong Size
b How to build an RWDBCriterion with dynamic restrictions
b Oracle8 AL: How can I use a RWDBBlob with LONG RAW or BLOB columns that hold 32k or more
b How Do I Send a Basic Password to a Web Page?
b Accessing _servInst in zApp 3.x on NT
b Building Tools.h++ 7.1.1 with Visual Age 5.x
b Building .h++ products with +DAportable
b Trying to rollback a transaction and it is not working
b Building on Solaris with the g++ compiler
b Sybase AL: syntax error when trying to bulk insert a vector object of size 1
b Unresolved symbol opinit at runtime
b Establishing a connection to Personal Oracle 8
b Compile problems with View.h++ v.1.3.0
b Building zApp 3.1 with MSVC 6.0
b Viewing a JFactory-made ComboBox with Netscape
b Adding a Timeout to an RWSocket::connect() Call
b Creating a Global Database Object
b Application crashing in the RWDBBlob destructor in DBTools 3.1.3 version
b RWZone::os() Returns Unexpected Result
b Errors installing products with SPM and RedHat Linux
b Building zApp 3.0 as a DLL under Windows 16-bit crashes with Borland C++ 4.52
b Internationalization of Blend.J TextField
b Objective Grid/J: Which .class files do I deploy with OG/J?
b Unresolved symbols during linking with DBTools static libraries
b I get the error: [DBNOTFOUND] No access library
b Transaction control with DBTools 3.1
b Porting Math 6.1.8 to Redhat Linux 6.0 (Linux 2.2.5-15)
b Assertion failed, attempting to add intrusive link...
b How can I force RWDate to display a four digit year?
b Undefined symbols when linking the Math.h++ on SGI
b How Do Math.h++ Random Number Classes Generate Random Numbers?
b Compiling Math.h++ 6.x with MSVC 4.2 results in errors in the file <tt>rwlpbla.cpp</tt>
b Compiler trouble on IRIX 5.3
b My Sun compiler reports a Sig 10 error when building with Tools.h++
b When using Money.h++ as a DLL in my application, the symbol NaN is undefined during a link.
b Warning messages in link phase using Math.h++ in OWL project
b RWTime Can Only Represent Times Up to the Year 2037
b Visual CASE and Visual C++ 6 Service Pack 3
b How do I construct an unbounded Producer-Consumer Queue (or Stack)
b RWDBTracer and asString() method behave differently in DBTools 4.0.0
b Assigning the Empty String to an RWCString
b Fix for modeless MDI dialog when modal non-MDI Dialog is opened
b Table will not accept data
b How can I enable and disable radio buttons in a zRadioController?
b Accelerator keys in modal dialog
b Detecting changes in text in an edit line
b SPM error - file truncated
b How can I have a timestamp inserted with a row into my Oracle table
b JChart 1.0 will not print charts to the printer
b Compiler errors involving min() and max() macros
b Problems compiling .c files in the rogue/mathsrc directory
b RWDBCursor write fails at runtime sometimes with a syntax error
b MDI menus appending items instead of inserting
b Assertion failure in rw/, line 0
b Does DBTools.h++ support the Oracle Array type?
b Installing products with SPM as root accidentally deletes device /dev/null
b How do I stop a thread that is blocked on a system call or performing I/O?
b Trouble transferring binary files with FTP examples
b Beanbox integration for JWidgets
b Error installing parts using SPM
b Borland C++ 5.02 and SPM 1.3 Edition 5, November 1997
b Stored procedure on Sybase returns empty result set.
b How To build RW-Metro examples on WINNT4-MSVC6.0 ?
b Will DBTools.h++ operate properly with WIN32s?
b Is Informix transaction logging required?
b Memory leaks reported on different calls to DBTools.h++ or Tools.h++ methods.
b My RWIFtpClient is behaving erratically.
b Tools.h++ PC Patches
b _ex_keylock undefined symbol problem
b How do I access tables on different databases on the same server?
b Library Mismatch with MSVC4.x Compiler
b Installation order of Math.h++ and Tools.h++ is critical
b Moving Unix applications to Windows when using RPC
b Can DBTools.h++ run under DOS?
b Problems Running the Software Parts Manager (Unix)
b Link Error when Building DBTools Application
b When installing JFactory from InstallShield, why does it start installing other programs?
b Memory leaks in Tools.h++ code?
b DBTools.h++ generates a unique table alias each time a select statement is executed
b RWCString::toLower() function call creates runtime error.
b How to use the Rogue Wave Informix Access Library for DBTools.h++ in a multi-threaded application
b Creating Charts using ChartJ Component Beans
b How do I implement a select count (*) in DBTools.h++?
b Informix DB-Access Library fails to build on HP/aCC platforms.
b Integrating JWidgets into Symantec Visual Cafe version 2.0
b Error ORA-12154 while connecting to ORACLE via DBTools.h++.
b Executing multiple SQL statements with RWDBDatabase::executeSql() on ORACLE
b Does DBTools.h++ support Dynamic SQL?
b Error when executing a stored procedure.
b Establishing connectivity between an RDBMS and DBTools.h++
b Error ORA-06401 while connecting to ORACLE via DBTools.h++
b Are project files (IDE files) provided for building DBTools.h++ under Windows?
b The details of RW_CENTURY_REQD
b rwMakeThreadFunctions and Passing Parameters By-reference
b Problems Running the Software Parts Manager (Windows)
b DB2 AL guide: RWDate should map with DB2 DATE type, instead of RWDBDateTime
b How can I get the port number from an RWSocket?
b Building Rogue Wave Products on Solaris 2.6 with SunPro 5.2
b How to produce an interleaved output in a multithreaded program?
b RWDBInserter.isValid() always returns OK even the SQL generated is incorrect
b Symbol Table Program fails to compile
b Reading a Sybase user defined type results in an error
b Installing a DBTools error handler
b The Software Parts Manager(SPM) cannot find CL.EXE
b JChart 2.1 Java Beans do not work well with certain Java IDEs
b How to change the font in a zTable cell and column and row label
b Determining what style bit is set from inside your program
b Control Size Problems from Win16 to Win32
b Using RWDBBlob with a stored procedure on Sybase
b How do I move to the end of my grid
b Math.h++ Allocates Excessive Memory for Vector, Matrix, and Array Classes
b Distributing Visual CASE Diagrams and Projects
b Visual CASE Errors After Installation of Another Stingray Product
b Refreshing the Contents in the UML View
b Why is the UML InfoBrowser no longer updating its contents in response to selection changes?
b No UML Diagraming Without an Active Project
b Base Class Shows Up Empty in UML Diagram
b No Visual CASE Tab in the Tools|Options Property Sheet
b Removing UML modeling Information from a Workspace
b Add UML Model and Integrated UML Modeling Buttons
b Location of MFC and ATL UML Libraries
b Location of Visual CASE Project Files
b All Visual CASE Menus and Toolbars Disabled
b Using absolute paths with a URL in SerializableImage
b Repository Read Error in Unix for SPM
b JChart pie piece value = 0 gives error message
b zApp 3.0.3 Online Documentation for Windows
b How do I delete a row in a cell grid?
b zHelp crashes when F1 is pressed twice
b What platforms and compilers will View.h++ build on?
b Adding a menu item dynamically when ID of DropDown is not known
b Assertion Failure Running DBTools Examples
b Drag-and-drop columns not working in cellgrid
b Which Tools.h++ classes require the Standard C++ Library?
b Why am I still connected to my database after my RWDBConnections have gone out of scope?
b How do I use an RWDBCursor for Write?
b Putting a static frame around a zStaticText
b Compiler error when building zApp as shared library
b Help and On Apply buttons call the same function from zNoteBookDialog
b zComboBoxFull on tab stop on zNoteBkDialog prevents tab from reaching any farther
b zFont does not display the size I specified.
b Unresolved externals when trying to link zApp application with MSVC4.2
b Building zApp with the CTL3D option turned on
b Multiple radio buttons are checked and will not disable.
b How to store/retrieve large blobs in SybaseCT
b Second constructor for zFormDialog
b How to create and run Stored Procedures in DB2
b In zHelp, the <A NAME=> tag does not work correctly
b Radio buttons on zNotebookDialog pages
b Making a vertically scrolling zEditBox
b How to call Oracle PL/SQL functions from DBTools
b Building Tools.h++ as a DLL with Borland C++ Builder
b zApp Error Codes
b Restore button does not work in MDI apps
b Memory leak when using zNotebook and zWizard dialogs
b Placing combo boxes on the tool bar
b NullPointerException with JWidgets 3.0 and Netscape 4.04
b Accessing command line arguments in zApp
b RWDBDateTime is Returning an Incorrect Time
b Sybase warning: Changed database context
b Updating sliders after calling setCurrent()