Hello,
I would like to link a static library into my Arduino project. I have tested it for SAMD and AVR respectively ( Arduino Uno et Arduino Zero)
I have already read this topics:
I follow the instruction in order to add static library, then I can see it in the Contributed library (attached file)
Here is the source code of my compiled library :
int foo(void) {
return 1;
}
Then, I create a library using ar tool.
I create a repo called foo which include
- library.properties
- and a repo src as below:
-/src
---foo.h
---/{architecture_mcu_name}
-----libfoo.a
name=foo
version=0.0.1
author=lululuv1
maintainer=foo <foo@gmail.com>
sentence=
paragraph=
category=Uncategorized
url=
architectures=*
precompiled=true
ldflags=-lfoo
My foo.h contain the function prototype : int foo(void);
FInally I create the ino project, include the library....
#include <foo.h>
void setup() {
Serial.begin(9600);
}
void loop() {
int foo_value = foo();
Serial.print("FOOFOOFOOFOOF");
}
Link with the library is done because if I want to link a libfoo.a from a dismatch architecture I got an error.
Hence, there is no compilation error, no link error but when i call the function foo(); I am lock, the print FOOFOOFOOFOO is never done.
Any idea ?
Thank you
PS: this is a simple example in order to reproduce the problem, can be done with avr-gcc or arm-none-eabi-gcc