Author Topic: Would folks offer suggestions on my linking problem?  (Read 11580 times)

Offline JohnHoward

  • Single posting newcomer
  • *
  • Posts: 2
Would folks offer suggestions on my linking problem?
« on: April 25, 2014, 01:58:18 am »
I can build simple programs just fine.  When I incorporate libraries, then it appears that stdint.h is not being loaded.  I base this on the apparent lack of a definition for the datatype uint8_t

The myriad of settings, coupled with my limited C knowledge, leaves me struggling to sort out my problem.  Yes, I am quite sure it is MY problem, not Code::Blocks. 

I just need some suggestions on how to divide and conquer this problem.  I am lost when it comes to a strategy for narrowing it down.

Code

People are probably going to go down the 'show us your code' path.  But if we can stay on the path of how to sort through all the compile and link options, search paths, defines and so on, I figure I can sort it out.  What's my best angle of attack to sift through all those variables to zero in on the cause?  So far, it's been hours of 'well I guess I'll try setting/changing this' all over and rather scattershot at that.

With that, the bottom line is a Class that defines two uint8_t parameters in its constructor are flagged in the error output as 'char' data types, which it rightly concludes does not match the Class definition.

How does C::B (well, really the compiler I suppose) arrive at a char data type?  Is that a last-ditch 'I didn't find anything else so I'll call it a char' outcome?  Again, I figure that maybe stidint.h, where uint8_t is defined, is not being included.  Which leaves the basic questions: Why? and Where should I look to answer that?

Thanks in advance.

-------------- Clean: Arduino Uno in test (compiler: GNU AVR GCC Compiler)---------------

Cleaned "test - Arduino Uno"
Running target pre-build steps
C:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks\ArduinoUploader "e:\test\test\." uno - 16 0 "e:\test\test\build\/lib_uno_16.a" "e:\test\test\build\/core_uno_16.a"
Build Target: Arduino Uno (MCU: atmega328p)
Referenced libraries:
Arduino Compiler & Uploader Version 0.8.8
(C)2013 Developed by Stanley Huang <stanleyhuangyc@gmail.com>, distributed under GPL license

-------------- Build: Arduino Uno in test (compiler: GNU AVR GCC Compiler)---------------

Compiling: test.ino
Linking console executable: build\test_uno.elf
Using built-in specs.
Target: avr
Configured with: ../gcc-4.3.3/configure --enable-win32-registry=WinAVR-20100110 --with-gmp=/usr/local --with-mpfr=/usr/local --prefix=/c/WinAVR --target=avr --enable-languages=c,c++,objc --with-dwarf2 --enable-doc --disable-shared --disable-libada --disable-libssp --disable-nls --with-pkgversion='WinAVR 20100110' --with-bugurl='URL:http://sourceforge.net/tracker/?atid=520074&group_id=68108&func=browse'
Thread model: single
gcc version 4.3.3 (WinAVR 20100110)
COLLECT_GCC_OPTIONS='-Os' '-O2' '-v' '-mmcu=atmega328p' '-DF_CPU=16000000L' '-D__AVR_ATmega328P__' '-fno-exceptions' '-ffunction-sections' '-fdata-sections' '-DARDUINO=105' '-I.' '-IC:\Users\dev\Documents\Arduino\libraries\RF24master' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\cores\arduino' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\libraries' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\variants\standard' '-I.' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks\arduino\libraries\SPI' '-IC:\Users\dev\Documents\Arduino\libraries' '-c' '-o' 'build\test.o'
 c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../libexec/gcc/avr/4.3.3/cc1plus.exe -quiet -v -I. -IC:\Users\dev\Documents\Arduino\libraries\RF24master -IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\cores\arduino -IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\libraries -IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\variants\standard -I. -IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks\arduino\libraries\SPI -IC:\Users\dev\Documents\Arduino\libraries -imultilib avr5 -iprefix c:\users\dev\downloads\codeblocks-arduino-20131127\codeblocks\bin\../lib/gcc/avr/4.3.3/ -DF_CPU=16000000L -D__AVR_ATmega328P__ -DARDUINO=105 test.ino -quiet -dumpbase test.ino -mmcu=atmega328p -auxbase-strip build\test.o -Os -O2 -version -fno-exceptions -ffunction-sections -fdata-sections -fno-rtti -fno-enforce-eh-specs -fno-exceptions -o C:\Users\dev\AppData\Local\Temp/ccAWefhf.s
ignoring nonexistent directory "c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/lib/gcc/../../avr/include/c++/4.3.3"
ignoring nonexistent directory "c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/lib/gcc/../../avr/include/c++/4.3.3/avr/avr5"
ignoring nonexistent directory "c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/lib/gcc/../../avr/include/c++/4.3.3/backward"
ignoring nonexistent directory "c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/lib/gcc/../../avr/sys-include"
#include "..." search starts here:
#include <...> search starts here:
 .
 C:\Users\dev\Documents\Arduino\libraries\RF24master
 C:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\cores\arduino
 C:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\libraries
 C:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\variants\standard
 .
 C:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks\arduino\libraries\SPI
 C:\Users\dev\Documents\Arduino\libraries
 c:\users\dev\downloads\codeblocks-arduino-20131127\codeblocks\bin\../lib/gcc/avr/4.3.3/include
 c:\users\dev\downloads\codeblocks-arduino-20131127\codeblocks\bin\../lib/gcc/avr/4.3.3/include-fixed
 c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/lib/gcc/../../lib/gcc/avr/4.3.3/include
 c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/lib/gcc/../../lib/gcc/avr/4.3.3/include-fixed
 c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/lib/gcc/../../avr/include
End of search list.
GNU C++ (WinAVR 20100110) version 4.3.3 (avr)
compiled by GNU C version 3.4.5 (mingw-vista special r3), GMP version 4.2.3, MPFR version 2.4.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 2cec6531345f76fb5de96e7b76602d14
COLLECT_GCC_OPTIONS='-Os' '-O2' '-v' '-mmcu=atmega328p' '-DF_CPU=16000000L' '-D__AVR_ATmega328P__' '-fno-exceptions' '-ffunction-sections' '-fdata-sections' '-DARDUINO=105' '-I.' '-IC:\Users\dev\Documents\Arduino\libraries\RF24master' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\cores\arduino' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\libraries' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\variants\standard' '-I.' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks\arduino\libraries\SPI' '-IC:\Users\dev\Documents\Arduino\libraries' '-c' '-o' 'build\test.o'
 c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/as.exe -mmcu=atmega328p -o build\test.o C:\Users\dev\AppData\Local\Temp/ccAWefhf.s
COMPILER_PATH=c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../libexec/gcc/avr/4.3.3/;c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../libexec/gcc/;c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../lib/gcc/avr/4.3.3/../../../../avr/bin/
LIBRARY_PATH=c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../lib/gcc/avr/4.3.3/avr5/;c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5/;c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../lib/gcc/avr/4.3.3/;c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../lib/gcc/;c:/users/dev/downloads/codeblocks-arduino-20131127/codeblocks/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/
COLLECT_GCC_OPTIONS='-Os' '-O2' '-v' '-mmcu=atmega328p' '-DF_CPU=16000000L' '-D__AVR_ATmega328P__' '-fno-exceptions' '-ffunction-sections' '-fdata-sections' '-DARDUINO=105' '-I.' '-IC:\Users\dev\Documents\Arduino\libraries\RF24master' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\cores\arduino' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\libraries' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks/arduino\hardware\arduino\variants\standard' '-I.' '-IC:\Users\dev\Downloads\CodeBlocks-Arduino-20131127\CodeBlocks\arduino\libraries\SPI' '-IC:\Users\dev\Documents\Arduino\libraries' '-c' '-o' 'build\test.o'
build\test.o: In function `global constructors keyed to radio':
test.ino:(.text._GLOBAL__I_radio+0x8): undefined reference to `RF24::RF24(unsigned char, unsigned char)'
Process terminated with status 1 (0 minutes, 0 seconds)
1 errors, 0 warnings (0 minutes, 0 seconds)
 

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7592
    • My Best Post
Re: Would folks offer suggestions on my linking problem?
« Reply #1 on: April 25, 2014, 07:49:51 pm »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline JohnHoward

  • Single posting newcomer
  • *
  • Posts: 2
Re: Would folks offer suggestions on my linking problem?
« Reply #2 on: April 26, 2014, 01:20:52 pm »
So, insight into how CodeBlocks works and ultimately selects the options it runs a compiler with from the myriad of property sheets is out of the question?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Would folks offer suggestions on my linking problem?
« Reply #3 on: April 26, 2014, 01:30:15 pm »
First enable full logging in the settings of the compiler.
Second check if you have the cpp file containing the RF24 method implementation into the project.
Please re/read the link posted by stahta01...

For an explanation for how C::B passes options to the compiler you'll need to check the user manual.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]