Hi,
If I use the --small_enum option when compiling C++ code with C6000CGT7.2.3, which RTS library should I link against? Linking against rts6740.lib causes problems when using things like ostrstream.
Thanks,
Will
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
If I use the --small_enum option when compiling C++ code with C6000CGT7.2.3, which RTS library should I link against? Linking against rts6740.lib causes problems when using things like ostrstream.
Thanks,
Will
Will,
The Compiler Users Guide says the following:
"Do not link object files compiled with the --small_enum option with object files that have been compiled without it. If you use the --small_enum option, you must use it with all of your C/C++ files; otherwise, you will encounter errors that cannot be detected until run time."
Based on this, I would infer that if you are using routines from the runtime library that use enums, those need to be rebuilt with --small_enum option as well. You could either extract the relevant sources from the runtime library, add them to your project and build them with this option or you could rebuild the entire runtime library with this option enabled. The process to rebuild the runtime library is documented in secton 8.5 of the Compiler Users Guide.
As discussed in this thread, there are problems with the --small_enums option. Those problems mean support for --small_enums is so limited that few users are able to take advantage of it. In summary, use of --small_enums is highly discouraged.
Thanks and regards,
-George