We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I have an Altera Cyclone V SoC DevKit that came with the ARM DS-5 tools. I have been running the Hello World C linux app examples that came with the tools. I want to run a similar C++ linux app example, so I copied the C example project (as I have several times before) but this time renamed the main.c file as main.cpp. Everything compiled okay. Then I added #include <iostreams> and the build broke.
**** Build of configuration Default for project helloCpp ****
make all
if not exist stripped mkdir stripped
arm-linux-gnueabihf-gcc main.o -o hellocpp -marm -march=armv4t -mfloat-abi=soft
main.o: In function `__static_initialization_and_destruction_0':
c:\altera\13.1\embedded\ds-5\sw\gcc\bin\../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/include/c++/4.7.3/iostream:75: undefined reference to `std::ios_base::Init::Init()'
main.o: In function `_GLOBAL__sub_I_main':
C:\Dev\DS-5 Workspace\helloCpp/main.cpp:23: undefined reference to `std::ios_base::Init::~Init()'
collect2.exe: error: ld returned 1 exit status
make: *** [hellocpp] Error 1
**** Build Finished ****
I've attached the main.cpp and the makefile. The makefile I hardwired the main.o target, and disabled the $(OBJS) targets, to force usage of the C++ compiler. Otherwise the makefile is what I found in the \hello example project.
My first suspicion is that there is an #include path issue. I had already added all the #include paths I found in the \gnometris project, which was the only C++ example project I could find. Is there one missing?
Second suspicion is a library path issue. However, I noted the \gnometris project did not specify any libraries. What libraries should be included for this?
Third (actually the strongest suspicion) there is something wrong with the makefile. Is there a simple C++ example project that will compile with the Cyclone V DS-5 tools?
Thanks
Sudeep Holla -
Tried the fix - it worked. Thank you very much.