vancegroup / stlport-avr Goto Github PK
View Code? Open in Web Editor NEWstlport C++ standard library with modifications for use with AVR microcontrollers -- see wiki
Home Page: https://github.com/vancegroup/stlport-avr/wiki
License: Other
stlport C++ standard library with modifications for use with AVR microcontrollers -- see wiki
Home Page: https://github.com/vancegroup/stlport-avr/wiki
License: Other
********************************************************************** * README file for STLport 5.0 * * * ********************************************************************** This directory contains the STLport-5.0 release. What's inside : README - this file INSTALL - installation instructions bin - installation directory for STLport unit tests; it may contain more subdirs, if you use crosscompilation build/lib - build directory for STLport library (if you use STLport iostreams and/or locale only) build/test/unit - build directory for regression (unit) tests build/test/eh - build directory for exception handling tests stlport - main STLport include directory src - source for iostreams implementation and other parts that aren't pure template code lib - installation directory for STLport library (if you use STLport iostreams and/or locale only); it may contain more subdirs, if you use crosscompilation test/unit - unit (regression) tests test/eh - exception handling test using STLport iostreams etc - miscellanous files (ChangeLog, TODO, scripts, etc.) GETTING STLPORT To download the latest version of STLport, please be sure to visit https://sourceforge.net/project/showfiles.php?group_id=146814 LEGALESE This software is being distributed under the following terms: * * * Copyright (c) 1994 * Hewlett-Packard Company * * Copyright (c) 1996-1999 * Silicon Graphics Computer Systems, Inc. * * Copyright (c) 1997 * Moscow Center for SPARC Technology * * Copyright (c) 1999-2003 * Boris Fomitchev * * This material is provided "as is", with absolutely no warranty expressed * or implied. Any use is at your own risk. * * Permission to use or copy this software for any purpose is hereby granted * without fee, provided the above notices are retained on all copies. * Permission to modify the code and to distribute modified code is granted, * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. * **********************************************************************
I'm facing the trouble that I cannot compile my Arduino project with stlport-avr.
#include <stlport.h>
#include <vector>
std::vector<uint8_t> vec(10 ,5);
void setup() {
Serial.begin(9600);
}
void loop() {
}
/var/folders/5w/b53_wn1j7kjd5btjls6z14nh0000gn/T/builde3628213459b7c2b9c62d4ab4b6b64fe.tmp/sketch/sketch_dec31a.ino.cpp.o: In function `__stl_new':
/Users/tomohiko/Documents/Arduino/libraries/stlport/stl/_new.h:170: undefined reference to `std::__node_alloc::_M_allocate(unsigned int&)'
/var/folders/5w/b53_wn1j7kjd5btjls6z14nh0000gn/T/builde3628213459b7c2b9c62d4ab4b6b64fe.tmp/sketch/sketch_dec31a.ino.cpp.o: In function `__stl_delete':
/Users/tomohiko/Documents/Arduino/libraries/stlport/stl/_new.h:171: undefined reference to `std::__node_alloc::_M_deallocate(void*, unsigned int)'
collect2: error: ld returned 1 exit status
Using library stlport in folder: /Users/tomohiko/Documents/Arduino/libraries/stlport (legacy)
exit status 1
The compile seems to be succeeded, but undefined reference error occurs in the link stage.
Am I doing something wrong when install?
Streams are listed under "Limitations" in the wiki. Can you elaborate on "If you use any streams, you'll need to compile library files beyond the headers."
? I would very much like to use stringstreams, which appear to be defined in the headers but not built or linked to in the packaged arduino build (ie will compile if a statement like std::stringstream(str)
is included, but throws linker errors if the stream is used)
E.g.,
[many more lines...]
...
/tmp/ccnalTw5.ltrans0.ltrans.o: In function `__base_ctor ':
/home/me/Arduino/libraries/stlport/stl/_ios.c:92: undefined reference to `std::ios_base::ios_base()'
/tmp/ccnalTw5.ltrans0.ltrans.o: In function `__base_ctor ':
/home/me/Arduino/libraries/stlport/stl/_streambuf.c:34: undefined reference to `std::locale::locale()'
/tmp/ccnalTw5.ltrans0.ltrans.o: In function `setup':
/home/me/Arduino/gmns_test/gmns_test.ino:478: undefined reference to `ss(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/home/me/Arduino/gmns_test/gmns_test.ino:478: undefined reference to `ss(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
collect2: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
STLport-5.2-arduino-installed
does not appear to work on Arduino 1.0.6. I followed the installation instructions from this wiki page on a brand new Arduino installation, but when I run the example code below, it does not compile.
#include <stlport.h>
#include <vector>
#include <cstdint>
std::vector<std::uint8_t> vec(10, 0);
void setup() {
vec[0] = 5;
vec[3] = 2;
Serial.begin(115200);
}
void loop() {
for (std::vector<uint8_t>::iterator it = vec.begin(), e = vec.end(); it != end; ++i) {
Serial.println(*it);
}
sleep(2000);
}
Specifically, I get the errors:
sketch_mar17a:5: error: 'uint8_t' is not a member of 'std'
sketch_mar17a:5: error: 'uint8_t' is not a member of 'std'
sketch_mar17a:5: error: template argument 1 is invalid
sketch_mar17a:5: error: template argument 2 is invalid
sketch_mar17a:5: error: invalid type in declaration before '(' token
sketch_mar17a:5: error: initializer expression list treated as compound expression
sketch_mar17a.ino: In function 'void setup()':
sketch_mar17a:8: error: invalid types 'int[int]' for array subscript
sketch_mar17a:9: error: invalid types 'int[int]' for array subscript
sketch_mar17a.ino: In function 'void loop()':
sketch_mar17a:14: error: request for member 'begin' in 'vec', which is of non-class type 'int'
sketch_mar17a:14: error: request for member 'end' in 'vec', which is of non-class type 'int'
sketch_mar17a:14: error: 'end' was not declared in this scope
sketch_mar17a:14: error: 'i' was not declared in this scope
sketch_mar17a:17: error: 'sleep' was not declared in this scope
Is this a version specific error, and if so, what Arduino versions are supported?
I'm trying to compile stlport so I can use it in an arduino;I ran ./configure --target=avr
and then make
, but I get the bellow output. It seems that ld
can't find '-lstlport'
How can I fix this?
make -C src release-shared;
make[1]: Entering directory '/home/hugo/software/hexapod/lib/stlport-avr/src'
avr-c++ -g -Os -w -Wall -ffunction-sections -fdata-sections -fPIC -O2 -fno-rtti -fno-exceptions -fuse-cxa-atexit -std=gnu++0x -fvisibility=hidden -I../stlport -o obj/avr-gcc/so/libstlport..6.0.0 obj/avr-gcc/so/chrono.o obj/avr-gcc/so/reachable.o obj/avr-gcc/so/except.o obj/avr-gcc/so/system_error.o obj/avr-gcc/so/thread.o obj/avr-gcc/so/dll_main.o obj/avr-gcc/so/fstream.o obj/avr-gcc/so/strstream.o obj/avr-gcc/so/sstream.o obj/avr-gcc/so/ios.o obj/avr-gcc/so/stdio_streambuf.o obj/avr-gcc/so/istream.o obj/avr-gcc/so/ostream.o obj/avr-gcc/so/iostream.o obj/avr-gcc/so/codecvt.o obj/avr-gcc/so/collate.o obj/avr-gcc/so/ctype.o obj/avr-gcc/so/monetary.o obj/avr-gcc/so/new.o obj/avr-gcc/so/num_get.o obj/avr-gcc/so/num_put.o obj/avr-gcc/so/num_get_float.o obj/avr-gcc/so/num_put_float.o obj/avr-gcc/so/numpunct.o obj/avr-gcc/so/time_facets.o obj/avr-gcc/so/messages.o obj/avr-gcc/so/locale.o obj/avr-gcc/so/locale_impl.o obj/avr-gcc/so/locale_catalog.o obj/avr-gcc/so/facets_byname.o obj/avr-gcc/so/complex.o obj/avr-gcc/so/complex_io.o obj/avr-gcc/so/complex_trig.o obj/avr-gcc/so/string.o obj/avr-gcc/so/bitset.o obj/avr-gcc/so/allocators.o obj/avr-gcc/so/c_locale.o obj/avr-gcc/so/cxa.o -lstlport
/usr/lib/gcc/avr/4.8.1/../../../avr/bin/ld: cannot find -lstlport
collect2: error: ld returned 1 exit status
../Makefiles/gmake/unix/rules-so.mak:76: recipe for target 'obj/avr-gcc/so/libstlport..6.0.0' failed
make[1]: *** [obj/avr-gcc/so/libstlport..6.0.0] Error 1
Have another issue that i cannot figure out. I am getting the following error that is causing the sketch not to compile:
... Arduino\libraries\stlport\utility: The system cannot find the path specified
Getting the same error with the example sketch as well.
Any help would be appreciated.
Thanks
Mike
It isn't compatible with Arduino IDE 1.5: Library specification descriped in https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
Been attempting to get stlport and Eigen 3.0 working on the Mega but am receiving the following error using that simple sketch on the wiki page. This is also using 5.2-Arduino installed branch:
C:\Local Programs\arduino-1.6.1/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10601 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Local Programs\arduino-1.6.1\hardware\arduino\avr\cores\arduino -IC:\Local Programs\arduino-1.6.1\hardware\arduino\avr\variants\mega -IC:\Users\CyberMerln\Documents\Arduino\libraries\stlport C:\Users\CYBERM1\AppData\Local\Temp\build4751032195296447181.tmp\sketch_jun27a.cpp -o C:\Users\CYBERM1\AppData\Local\Temp\build4751032195296447181.tmp\sketch_jun27a.cpp.o
sketch_jun27a.ino:3:19: fatal error: cstdint: No such file or directory
compilation terminated.
Error compiling.
UPDATED: As a test I also just tried the master arduino installed branch and received the following error messages:
Arduino: 1.6.1 (Windows 7), TD: 1.21, Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
Using library stlport in folder: C:\Users\CyberMerln\Documents\Arduino\libraries\stlport (1.0.x format)
C:\Local Programs\arduino-1.6.1/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10601 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Local Programs\arduino-1.6.1\hardware\arduino\avr\cores\arduino -IC:\Local Programs\arduino-1.6.1\hardware\arduino\avr\variants\mega -IC:\Users\CyberMerln\Documents\Arduino\libraries\stlport C:\Users\CYBERM1\AppData\Local\Temp\build4751032195296447181.tmp\sketch_jun27a.cpp -o C:\Users\CYBERM1\AppData\Local\Temp\build4751032195296447181.tmp\sketch_jun27a.cpp.o
In file included from C:\Users\CyberMerln\Documents\Arduino\libraries\stlport/new:24:0,
from C:\Users\CyberMerln\Documents\Arduino\libraries\stlport/stl/_alloc.h:44,
from C:\Users\CyberMerln\Documents\Arduino\libraries\stlport/vector:36,
from sketch_jun27a.ino:2:
C:\Users\CyberMerln\Documents\Arduino\libraries\stlport/stl/_new.h:149:24: fatal error: new: No such file or directory
^
compilation terminated.
Error compiling.
Really would like to get this working so any help would be appreciated.
thanks in advance
Mike
Hi, I'm facing problems building your project for use in an AVR application. I'm NOT using Arduino. I've posted bellow the output of the 'make' command at the stlport root. Apparentlly, and I don't know why, it is not finding the file "new.h". The file exists!
A few translations from Portuguese:
Tools versions:
Any hints?
Thanks!
Arliones.
arliones.hoeller:stlport$ ./configure --target=avr
arliones.hoeller:stlport$ make
make -C build/lib all;
make[1]: Entrando no diretório `/home/arliones.hoeller/Libraries/avr/stlport/build/lib'
avr-c++ -fno-rtti -fno-exceptions -g -Os -w -Wall -ffunction-sections -fdata-sections -fPIC -O2 -fuse-cxa-atexit -fvisibility=hidden -D_STLP_NO_RTTI -I../../stlport -c -o obj/avr-gcc/so/dll_main.o ../../src/dll_main.cpp
In file included from ../../stlport/stl/_new.h:54:0,
from ../../stlport/stl/_alloc.h:47,
from ../../stlport/memory:29,
from ../../src/dll_main.cpp:41:
../../stlport/new.h:27:26: fatal error: new.h: Arquivo ou diretório não encontrado
# include_next <new.h>
^
compilation terminated.
make[1]: ** [obj/avr-gcc/so/dll_main.o] Erro 1
make[1]: Saindo do diretório `/home/arliones.hoeller/Libraries/avr/stlport/build/lib'
make: ** [all] Erro 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.