Hi,
I'm trying to use the C674X-MATHLIB (v3.0.1.1) in my C++ application in CCS 5.2. I am aware of the annoying pragma issue, and by simply using the extern "C" as recommended in other posts, it made no difference. Instead I developed an interface C-file with wrapper functions that simply calls the C-functions of MATHLIB, and then I declared the wrapper functions as extern "C" in the interface header file.
The compilation of this approach works fine, but I'm getting linking errors in that a number of symbols are not found. I'm linking against the mathlib.a674 library in the mathlib_c674x_3_0_1_1\lib directory of C674X-MATHLIB. The following symbols are not found by the linker:
- All the vector versions of single point precision (possibly also the double precision, but I have not tested this), e.g. atan2sp_v, atansp_v, cossp_v, etc.
- logtable, kTable, jTable and V, which are located in mathlib_c674x_3_0_1_1\packages\ti\mathlib\src\common\tables.c
The vector versions are simply a for-loop which calls the inline version of the associated function and the other symbols are constants. By copying this code into my own source files, I managed to successfully compile and link. I find this strange because the linker found the normal math functions, e.g. atan2sp and atan2sp_i. Does this mean that the above mentioned functions and variables were not compiled into the supplied library or am I missing something very obvious here?