Menu

Problem using a no std lib on my eo project

Help
Eduardo
2007-01-22
2013-06-04
  • Eduardo

    Eduardo - 2007-01-22

    Hello!!
    It's me again, I have a problem developing an eoProject, and maybe someone here could help me. I would be really grateful.

    I'm trying to implement an eo Project where the genotype is a 3rd order-Tensor (or 3-index-Matrix). I tried to create a simple class but it couldn't make it work. So finally I found on the net a non-standar C++ library called svmtl(Scalar, Vector, Matrix, Tensor Library). I downloaded it and then I compiled it.  In order to compile a simple code using this library I have to use two folders (with the headers and other important files) called "lib" and "include", and I have to compile the target "example" from a Makefile that looks like this:

    CC=g++
    INCLUDE=-I../include
    DEFINES=-DSVMT_DEBUG_MODE
    # OPTIONS=-O2 -Wall -ansi -pedantic -felide-constructors
    OPTIONS= -O2 -Wall -felide-constructors
    LIBRARY=-L../lib
    libraries=\
    -ldoubleComplexTensor -ldoubleTensor -lboolTensor \
    -ldoubleComplexSquare -ldoubleSquare \
    -ldoubleComplexMatrix -ldoubleMatrix -lboolMatrix \
    -ldoubleComplexVector -ldoubleVector -lboolVector -loffsetVector \
    -ldoubleComplex -lsvmt_error -lm
    COMPILE=$(CC) $(INCLUDE) $(LIBRARY) $(DEFINES) $(OPTIONS)

    example:        stringExample.cpp
        $(COMPILE) -o strex stringExample.cpp $(libraries)

           I'm not good enough manipulating Makefiles; so my question is: How should I modify the eo Project Makefile in order to make me be able to use this svmt library on my eo project? and where should I copy those "lib" and "include" folders on my eo directory?

    Thanks for any help,

    Eduardo

     
    • Eduardo

      Eduardo - 2007-01-23

      Apparently I got a solution:

      I just took all the files ".h" from the library folder and then I edited them by changing all the includes sentences from
      #include<LibraryFile.h> to #include "LibraryFile.h"

      (they were like 40 files to edit in this case, but ok).
      then I copied them into the src folder of my eo Project.
      then to compiled the project and it didn't give any error!!

      So I didn't have to modify the Makefile!!!

      Anyway I think it would have been too difficult to get to modify the Makefile..

      Best regards;

      Eduardo

       
    • Eduardo

      Eduardo - 2007-01-24

      Better solution,

      This is for those like me who are not very clever for programming things!!:

      There are two folder on the svmtl library (and I think in any actual C++ library), one is the "include" folder, and the other is the "lib" folder.
      you could just copy the "include" folder on /usr/local/include and I remane it to "svmt".
      I also copy the "lib" folder to /usr/local/lib, then I rename it to "libsvmt"
      after that I just type on the shell:

      export CPLUS_INCLUDE_PATH=/usr/local/include/svmt:"$CPLUS_INCLUDE_PATH"
      export LIBRARY_PATH=/usr/local/lib/libsvmt:"$LIBRARY_PATH"

      So then I'm able to develope an eo project with 2nd and 3rd order Tensors by using the library svmtl, which is called by:

      #include <svmt.h>

      If you want to know more about this, take a look at http://www.netwood.net/~edwin/svmt/

      best regards,

      Eduardo

       

Log in to post a comment.