Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12599 Discussions

How use altera_avalon_fifi_xxx with a .cpp file ?

Altera_Forum
Honored Contributor II
1,006 Views

Hi, 

I try to use altera_avalon_fifo_init() function in .cpp file extension. 

The compilation is OK but the linker does't find the function defined in bsp (in library libhal_bsp.a). The error is : 

c:\dev\e111\fpga\fit\software\test06/other1.cpp:9: undefined reference to `altera_avalon_fifo_init(unsigned long, unsigned long, unsigned long, unsigned long)' 

 

But, when I rename the file with .c extension, all is ok. 

Is it possible to use altera_avalon_fifo_init() (or any functions in BSP) into .cpp file ? 

 

I use Eclipse Indigo. My project is created with "Nios II Application and BSP from Template" 

 

Best regards 

Eric
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
320 Views

I remember that if you define a function (i.e. testcpp() ) in a cpp file, you must declare it with the extern "C" directive in order to call it from a .c files. 

 

extern "C" int testcpp (int n); 

int testcpp (int n) 

/* function body */ 

 

I think you must use something similar for calling .c functions from .cpp source files.
0 Kudos
Altera_Forum
Honored Contributor II
320 Views

Hi Cris72, 

Thanks a lot. Now all is OK. 

Best regards 

Eric
0 Kudos
Reply