Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
750 Views

SD Card Header Problem

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
Highlighted
Valued Contributor III
8 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
Highlighted
Valued Contributor III
8 Views

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

0 Kudos
Highlighted
Valued Contributor III
8 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
Highlighted
Valued Contributor III
8 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
Highlighted
Valued Contributor III
8 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
Highlighted
Valued Contributor III
8 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
Highlighted
Valued Contributor III
8 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
Highlighted
Valued Contributor III
8 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
Highlighted
Valued Contributor III
8 Views

Thanks, you helped me after two years. :)

0 Kudos