(C++) undefined reference to 'puts'

February 24, 2017 · View on GitHub

 

 

 

 

 

(C++) undefined reference to 'puts'

 

Qt
CreatorUbuntuNDS

 

Link error.

 

 

 

 

 

Operating system(s):

  • NDS Nintendo DS
  • Ubuntu Ubuntu 10.04 LTS Lucid Lynx

IDE(s):

Project type:

  • console Console application

Compiler(s):

Libraries used:

 

 

 

 

 

Qt project file

 


 

 

 

 

 

main.cpp

 


////////////////////////////////////////////////////////////////////// // Demo1 ARM9 Code - Based on an example shipped with NDSLIB. // Chris Double (chris.double@double.co.nz) ////////////////////////////////////////////////////////////////////// //From http://double.co.nz/nintendo_ds/nds_develop1.html #include <nds.h> #include <nds/registers_alt.h> #include <nds/arm9/console.h> #include <stdio.h> int main(void) {   // Use the touch screen for output   videoSetMode(0);   videoSetModeSub(MODE_0_2D | DISPLAY_BG0_ACTIVE);   vramSetBankC(VRAM_C_SUB_BG);   SUB_BG0_CR = BG_MAP_BASE(31);   // Set the colour of the font to White.   BG_PALETTE_SUB[255] = RGB15(31,31,31);   consoleInit(0,1, BgType_Text4bpp, BgSize_T_256x256, 0, 6, false, true);   /*   consoleInit(     consoleGetDefault(),     0,     (u16*)SCREEN_BASE_BLOCK_SUB(31),     (u16*)CHAR_BASE_BLOCK_SUB(0),     16);   */   printf("\n\n\tHello World!\n");   while(1) {     touchPosition touchXY = touchReadXY();     printf("\x1b[10;0H");     printf("Touch x = %d   \n", touchXY.px);     printf("Touch y = %d   \n", touchXY.py);   }   return 0; }

 

 

 

 

 

Solution

 

Change the linker from 'arm-eabi-ld' to 'arm-eabi-gcc' in the Qt project file: