Hello,
Is it possible to link a v6.4.9 library with v6.2.11 code?
My purpose is to link a v6.4.9 libary which contains a class template with v6.2.11 code.
Stephen
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.
As a general rule, it is safest to use the newer version of the linker (in this case 6.4.9) when linking in libraries or object files built with different versions. If the linker version is older than the library, there is a chance that the library may be built with options or features that the older linker may not be able to handle.
According to processors.wiki.ti.com/.../C++_Support_in_TI_Compilers. Embedded C++ doesn't include templates (see below).
The C2000 v6.2.11 compiler only allows Embedded C++.
"Having thought about this a bit more, I'm confused about what you are trying to do."
I have existing code that has been tested thoroughly with the hardware (It took many hours to do by a validation engineer). Now, I created some classes that uses templates and I want to add them to the thoroughly tested existing code. At first, I thought I could compile the new code into a static library using v6.4.9 and then link that library with the existing code compiled with v6.2.11.
According to what you previously said, that is not possible.
Compiling all the code a new compiler could like introduce some unintended effect or maybe bug int the existing code.
Stephen
Embedded C++:
Support for Embedded C++ is in the form of the compiler option -pe. This option makes it illegal to use any C++ feature that is not in Embedded C++. Embedded C++ omits these C++ features:
Note Embedded C++ disallows templates. This means you can use very few of the features in the C++ portion of the RTS library.
Ok, When I have 6.2.11 selected as the compiler, "Embedded C++" is the only c++ dialect shown in the Language options. What am I missing?
So, if I don't choose any C++ dialect, the compiler will compile the code using C++98?
Stephen