Tool/software: TI C/C++ Compiler
Hello I am encountering a problem with the compilation of some basic c++ code in a multi file project.
I am using object oriented techniques in c++. This project has three files in totality:
VecN.hpp and VecN.cpp define the a class and the implementation of it's member functions.
main.cpp is the main file that instantiates an object and does some operations using it's member functions.
A full copy of the build log is attached.
Can you spot what am I doing wrong in my code ? I suspect it's something related to the linking order and linker settings because I have managed to compile similar code using the g++ v10.2.0 in cygwin and a simple Makefile.
**** Build of configuration Debug for project testing-VecN-library **** "C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 4 all -O Building file: "../VecN.cpp" Invoking: C6000 Compiler "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c6000_8.3.7/bin/cl6x" -mv6600 --include_path="C:/..." --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c6000_8.3.7/include" -g --c99 --c++14 --diag_warning=225 --diag_wrap=off --display_error_number "../VecN.cpp" Finished building: "../VecN.cpp" Building file: "../main.cpp" Invoking: C6000 Compiler "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c6000_8.3.7/bin/cl6x" -mv6600 --include_path="C:/..." --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c6000_8.3.7/include" -g --c99 --c++14 --diag_warning=225 --diag_wrap=off --display_error_number "../main.cpp" "../main.cpp", line 14: warning #552-D: variable "tmp" was set but never used Finished building: "../main.cpp" Building target: "testing-VecN-library.out" Invoking: C6000 Linker "C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c6000_8.3.7/bin/cl6x" -mv6600 -g --c99 --c++14 --diag_warning=225 --diag_wrap=off --display_error_number -z -m"testing-VecN-library.map" --heap_size=0x4000 --stack_size=0x1000 -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c6000_8.3.7/lib" -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c6000_8.3.7/include" --reread_libs --define=DSP_CORE=1 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="testing-VecN-library_linkInfo.xml" --rom_model -o "testing-VecN-library.out" "./VecN.obj" "./main.obj" "../66AK2Gxx_C66.cmd" -llibc.a <Linking> undefined first referenced symbol in file --------- ---------------- VecN<float, (unsigned int)3>::iszero() ./main.obj error #10234-D: unresolved symbols remain error #10010: errors encountered during linking; "testing-VecN-library.out" not built >> Compilation failure makefile:142: recipe for target 'testing-VecN-library.out' failed gmake[1]: *** [testing-VecN-library.out] Error 1 makefile:138: recipe for target 'all' failed gmake: *** [all] Error 2 **** Build Finished ****
