Dumb compiling question

ragbagger wrote on Monday, July 05, 2010:

I’m new to C++ and have a problem more to do with compiling than with FreeRTOS. Here goes:

If I define a task:
static void test(void *pvParameters);
and then create a task with:
xTaskCreate( test, ( signed portCHAR * ) “BOBtest”, 1000, NULL, 2, NULL );
It works great as long as the definition of task is in the same file as xTaskCreate call. If "test is defined in a separate file I get
undefined reference error.
Oh yeah, the compiler is GCC
Any help in making me smarter would be appreciated.

richard_damon wrote on Monday, July 05, 2010:

Since you are declaring your task function as “static” that name is only available inside that particular translation unit, so if you are defining test in a different file then the corresponing xTaskCreate call, that would be expected.

ragbagger wrote on Tuesday, July 06, 2010:

Thanks much. At this point in my learning curve it takes very little to make me smarter!