Undefined Reference to .s file

westfw:
Sure enough, 1.5.7 compiles the .S file, but 1.0.5 doesn’t.

So - upgrade your IDE to 1.5.8 (current latest version), make sure the .S file is in with the rest of the libraries, make sure the .h definitions for the .S functions are “extern “C””, and you should make additional progress.

Can confirm this. Just tried in 1.0.X and it does not compile, but it compiles fine in 1.5.X

And I confirmed it worked under 1.0.6.

So, everything is confirmed. Apart from this:

Can confirm this. Just tried in 1.0.X and it does not compile,

BTW the new forum is intensely annoying.

Checked my versions. I have 1.0.4 and 1.5.8. The former of which is the one that did not compile the Assembly file. so I checked the changelog for 1.0.6 and found this:

* Fix toolchain command line to compile assembler files (Jimmy Hedman)

Seems to be where the issue was fixed.

Off-topic: I don't like the new quick-reply form. Forces me to use the full editor to quote or post code. :(

I am using 1.5.8 and I am still getting compilation errors. 1. As far as installing the libraries, we downloaded the kilolib library from github, and then put that folder into Documents>Arduino>libraries. Then from the Arduino IDE, we clicked sketch > import library. That is how we got all of the include statements. 2. Nick Gammon, what do I do with that code? Which file did you make those changes in? 3. As far as extern C, this is how I modified message_send.h:

ifndef MESSAGE_SEND_H

define MESSAGE_SEND_H

include "message.h"

extern volatile uint8_t tx_mask; extern "C"{ uint8_t message_send(const message_t *); }

endif//MESSAGE_SEND_H

Update, I was able to get the code to compile using the above extern C code (I was just saving it to the wrong location before). I am still wondering about your code, however, Nick!