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++

SD Card Header Problem

Altera_Forum
Honored Contributor II
1,189 Views

I'm using an SD Card core in my SOPC builder system. In my Nios II IDE program I've included the associated header file. When I build the project I get the following error: 

 

/cygdrive/c/altera/90/ip/altera_up_sd_card_avalon_interface/HAL/inc/altera_up_sd_card_avalon_interface.h:27: error: expected identifier before "false" 

 

In altera_up_sd_card_avalon_interface.h, line 27 there is the following code: 

typedef enum e_bool { false = 0, true = 1 } bool; 

 

what is the problem ? I guess there should be no problem with the header files included with the IP cores and we do not need to edit them!!!!!!!!!!! 

tnx in advance 

0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
447 Views

Hi moeen, 

Probably your projects includes somewhere stdbool.h header, which already has bool type and true/false defined 

 

If you can't fix it, you can try adding the following undefs just before including the header with the typedef 

# undef false 

# undef true 

# undef bool
0 Kudos
Altera_Forum
Honored Contributor II
447 Views

I did that, it didnt solve the problem! :(

0 Kudos
Altera_Forum
Honored Contributor II
447 Views

Mmmm, 

I tried to include the same typedef in one of my projects: I get the error but the undef trick works and it fixes it. 

Maybe you have different compiler settings. C++ support, Small C library, or any other similar options.
0 Kudos
Altera_Forum
Honored Contributor II
447 Views

I have chosen the small C library, could it be the problem? but unchecking it would need a very large amount of memory! :(

0 Kudos
Altera_Forum
Honored Contributor II
447 Views

Do you use c or c++? 

In C++ false and true are parts of the language. In pure C thats not the case. 

if you use c++ try to place the offending header in something like this. 

 

extern "C" 

 

#include "altera_up_sd_card_avalon_interface.h" 

0 Kudos
Altera_Forum
Honored Contributor II
447 Views

I believe the post creator has already resolved his issues, but, I had the same error and resolved it like this: 

 

In altera_up_sd_card_avalon_interface.h, removed the line: 

typedef enum e_bool { false = 0, true = 1 } bool; 

 

Then, included stdbool.h. Problem solved! :)
0 Kudos
Altera_Forum
Honored Contributor II
447 Views

tnx for ur guidace!It's been a long time since that problem and I solved it in a similar way. again tnx for ur help!:)

0 Kudos
Altera_Forum
Honored Contributor II
447 Views

I was stuck with the same error, saw the page but nothing. Then I finally solved it and thought I should post it here ;)

0 Kudos
Altera_Forum
Honored Contributor II
447 Views

Thanks, you helped me after two years. :)

0 Kudos
Reply