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.

CCS5.03: Confused about setting include and library paths

Other Parts Discussed in Thread: SYSBIOS

Hi

I built a simple project using CCS 5.0.3 and BIOS 6.31.04.  It builds fine. An example compile command from the build is:

'Building file: ../main.c'

'Invoking: C6000 Compiler'

"C:/TI/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --include_path="C:/TI/ccsv5/tools/compiler/c6000/include" --diag_warning=225 --big_endian --abi=eabi --preproc_with_compile --preproc_dependency="main.pp" --cmd_file="./configPkg/compiler.opt" "../main.c"

'Finished building: ../main.c'

Now, I notice that the bios and xdc include paths are not explicitly mentioned in this command.

I stored the project in Subversion and tried to build it on another PC with CCS 5.03 installed.  The build failed and I had to explicitly specify include paths for BIOS and xdc as shown below:

C:\TI\ccsv5\utils\gmake\gmake -k all

'Building file: ../main.c'

'Invoking: C6000 Compiler'

"C:/TI/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --include_path="C:/TI/ccsv5/tools/compiler/c6000/include" --include_path="C:\TI\xdctools_3_20_08_88\packages" --include_path="C:\TI\bios_6_31_04_27\packages" --diag_warning=225 --big_endian --abi=eabi --preproc_with_compile --preproc_dependency="main.pp" "../main.c" -D xdc_target_types__=ti/targets/std.h

'Finished building: ../main.c'

Why were these include paths not required on the first PC? Was there some auto-discovery going on?

Why were they necessary on the second platform? Can I fix this another way?

On the second platform I now have a linker error:

<Linking>

warning: creating ".stack" section with default size of 0x400; use the -stack

option to change the default size

undefined first referenced

symbol in file

--------- ----------------

ti_sysbios_BIOS_exit__E ./task2.obj

ti_sysbios_BIOS_start__E ./main.obj

ti_sysbios_knl_Clock_getTicks__E ./task1.obj

ti_sysbios_knl_Queue_Object__create__S ./main.obj

ti_sysbios_knl_Queue_dequeue__E ./task2.obj

ti_sysbios_knl_Queue_empty__E ./task2.obj

ti_sysbios_knl_Queue_enqueue__E ./task1.obj

ti_sysbios_knl_Semaphore_Object__create__S ./main.obj

ti_sysbios_knl_Semaphore_getCount__E ./task1.obj

ti_sysbios_knl_Semaphore_post__E ./main.obj

ti_sysbios_knl_Task_Object__create__S ./main.obj

ti_sysbios_knl_Task_Params__init__S ./main.obj

ti_sysbios_knl_Task_sleep__E ./task2.obj

xdc_runtime_System_printf__E ./task2.obj

error: unresolved symbols remain

error: errors encountered during linking; "Queue.out" not built

I guess I need to explicity specify the BIOS library.  Why is this necessary?