<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 29, 2016 at 6:56 AM, Sambeet Panigrahi <span dir="ltr"><<a href="mailto:sambeet161616@gmail.com" target="_blank">sambeet161616@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div>I tried to link my code in the command line as I was not sure about how to do it with the makefile :</div><div><br></div><div><div>sambeet@Holmes ~/NewRockPort/x86/Build/Rock-<wbr>Port_ana/Tests/Eigen $ i386-rtems4.11-g++ -B/home/sambeet/NewRockPort/<wbr>x86/Install/rtems/4.11.0-rc3/<wbr>i386-rtems4.11/pc386/lib/ -specs bsp_specs -qrtems -O2 -g  -mtune=i386 -c -I/home/sambeet/NewRockPort/<wbr>x86/Install/eigen/include/<wbr>eigen2 -o o-optimize/eigen.o eigen.cc</div><div>eigen.cc:19:4: error: expected constructor, destructor, or type conversion before '(' token</div><div>   m(0,0) = 3;</div><div>    ^</div><div>eigen.cc:20:4: error: expected constructor, destructor, or type conversion before '(' token</div><div>   m(1,0) = 2.5;</div><div>    ^</div><div>eigen.cc:21:4: error: expected constructor, destructor, or type conversion before '(' token</div><div>   m(0,1) = -1;</div><div>    ^</div><div>eigen.cc:22:4: error: expected constructor, destructor, or type conversion before '(' token</div><span class=""><div>   m(1,1) = m(1,0) + m(0,1);</div></span><div>    ^</div><div>eigen.cc:23:8: error: 'cout' in namespace 'std' does not name a type</div><span class=""><div>   std::cout << m << std::endl;</div></span><div>        ^</div><div>eigen.cc:24:7: error: expected constructor, destructor, or type conversion before '(' token</div><div>   exit( 0 );</div><div>       ^</div></div><div>These happens usually due to STL being not supported in a g++ version.Does rtems-g++ support STL ( vectors,maps etc. only the basic version of STL is required for Eigen to work)?</div><div><br></div><div></div></div></blockquote><div><br></div><div>RTEMS has very good C++ STL support via GCC. </div><div><br></div><div>The errors indicate at least 2-3 missing header files.<br></div><div>  + the one for std::cout (e.g. <iostream></div><div>  + the one for exit() (e.g. <cstdlib> or <stdlib.h>)</div><div>  + whatever .h file the type for m() is declared as.</div><div><br></div><div>If the code compiles on Linux, then this means that somehow the header</div><div>files are implicitly being included which is not necessarily standards </div><div>conformant. RTEMS tries very hard to be standards conformant which</div><div>means no/minimal cases where a .h file is simplicitly included.</div><div><br></div><div>Chris' comment about using the RSB to package and install is</div><div>correct. You don't build and install packages by hand on Linux,</div><div>you install .deb or .rpm files which are carefully constructed to</div><div>integrate into the overall OS file system layout. That's what RSB</div><div>packages are to RTEMS.</div><div><br></div><div>Standard open source packages should have RSB recipes so</div><div>they are easily usable.</div><div><br></div><div>Each build system has its own way of adding directories to</div><div>the include path and libraries to the link command but if the</div><div>package is installed in an integrated manner, these are rather</div><div>trivial. There should be no additions to the include directory and</div><div>only a -lMYLIB added to the link.</div><div><br></div><div>--joel</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div> </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 29, 2016 at 7:54 AM, Chris Johns <span dir="ltr"><<a href="mailto:chrisj@rtems.org" target="_blank">chrisj@rtems.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><span>On 29/08/2016 11:23, Sambeet Panigrahi wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
How do I add the eigen header file to the makefile?Adding CXX flags like<br>
in the code in the initial post is not working.<br>
</blockquote>
<br>
</span></span><a href="https://lists.rtems.org/pipermail/users/2016-August/030547.html" rel="noreferrer" target="_blank">https://lists.rtems.org/piperm<wbr>ail/users/2016-August/030547.h<wbr>tml</a><span><font color="#888888"><br>
<br>
Chris<br>
</font></span></blockquote></div><br></div>
</blockquote></div><br></div></div>