Buongiorno,

Avrei la necessità di compilare una libreria matematica 
http://www.cours.polymtl.ca/roboop/  sotto la fox. Premetto che la libreria 
si compila sia sotto window che in linux (debian).
Ho modificato il Makefile aggiungendo le direttive relative alla fox

# Roboop Makefile for GNU g++
# $Id: makefile.gcc,v 1.22 2006/08/17 17:36:17 gourdeau Exp $
AXIS_USABLE_LIBS = UCLIBC GLIBC
include $(AXIS_TOP_DIR)/tools/build/Rules.axis

#CC = g++
# uncomment the -fno-const-strings in the next line for gcc 2.95.2
# edit the following to reflect the location of boost include files
# if not in the defaut (/usr/include)
BOOST_INCLUDE_DIR=/usr/include
CFLAGS = -O -I $(BOOST_INCLUDE_DIR) -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread
#-Duse_namespace -fno-const-strings

LIBS = -L./ -lroboop -lnewmat -lm -pthread
AR = ar
RANLIB = ranlib

%.o : source/%.cpp
        $(CC) -c $(CFLAGS) -o $@ $<

%.o : newmat/%.cpp
        $(CC) -c $(CFLAGS) -o $@ $<

All: rtest demo bench demo_2dof_pd libnewmat.a libroboop.a

Deprtest =  rtest.o libroboop.a libnewmat.a
rtest : $(Deprtest)
        $(CC) $< -o $@ $(LIBS)
rtest.o :  source/rtest.cpp source/utils.h source/robot.h

Depdemo_2dof_pd =  demo_2dof_pd.o libroboop.a libnewmat.a
demo_2dof_pd : $(Depdemo_2dof_pd)
        $(CC) $< -o $@ $(LIBS)
demo_2dof_pd.o :  source/demo_2dof_pd.cpp source/utils.h source/robot.h

Depdemo    = demo.o libroboop.a libnewmat.a
demo: $(Depdemo)
        $(CC) $< -o  $@ $(LIBS)
demo.o :  source/demo.cpp source/quaternion.h source/gnugraph.h 
source/utils.h source/robot.h

Deprobooplib = \
   gnugraph.o   comp_dq.o   comp_dqp.o   delta_t.o \
   dynamics.o   homogen.o   kinemat.o    robot.o   \
   sensitiv.o   utils.o     quaternion.o config.o  \
   trajectory.o clik.o      controller.o invkine.o \
   control_select.o dynamics_sim.o stewart.o

libroboop.a : $(Deprobooplib)
        rm -f $@
        $(AR) rc $@ $(Deprobooplib)
        $(RANLIB) $@

controller.o: source/controller.cpp source/controller.h

control_select.o: source/control_select.cpp source/control_select.h

dynamics_sim.o: source/dynamics_sim.cpp source/dynamics_sim.h

trajectory.o: source/trajectory.cpp source/trajectory.h

clik.o :  source/clik.cpp source/clik.h source/utils.h source/robot.h

robot.o :  source/robot.cpp source/utils.h source/robot.h

config.o : source/config.cpp source/config.h

quaternion.o : source/quaternion.cpp source/quaternion.h

gnugraph.o :  source/gnugraph.cpp source/gnugraph.h source/utils.h 
source/robot.h

comp_dq.o :  source/comp_dq.cpp source/utils.h source/robot.h

comp_dqp.o :  source/comp_dqp.cpp source/utils.h source/robot.h

delta_t.o :  source/delta_t.cpp source/utils.h source/robot.h

dynamics.o :  source/dynamics.cpp source/utils.h source/robot.h

homogen.o :  source/homogen.cpp source/utils.h source/robot.h

invkine.o :  source/invkine.cpp source/utils.h source/robot.h

kinemat.o :  source/kinemat.cpp source/utils.h source/robot.h

sensitiv.o :  source/sensitiv.cpp source/utils.h source/robot.h

utils.o :  source/utils.cpp source/utils.h source/robot.h

stewart.o :  source/stewart.cpp source/stewart.h source/utils.h

Depnewmatlib = \
   bandmat.o    cholesky.o   evalue.o     fft.o\
   hholder.o    jacobi.o     myexcept.o   newmat1.o\
   newmat2.o    newmat3.o    newmat4.o    newmat5.o\
   newmat6.o    newmat7.o    newmat8.o    newmat9.o\
   newmatex.o   newmatnl.o   newmatrm.o   solution.o\
   sort.o       submat.o     svd.o        newfft.o\
   nm_misc.o

libnewmat.a: $(Depnewmatlib)
        rm -f $@
        $(AR) rc $@ $(Depnewmatlib)
        $(RANLIB) $@

bandmat.o :  newmat/bandmat.cpp

cholesky.o :  newmat/cholesky.cpp

evalue.o :  newmat/evalue.cpp

fft.o :  newmat/fft.cpp

newfft.o :  newmat/newfft.cpp

hholder.o :  newmat/hholder.cpp

jacobi.o :  newmat/jacobi.cpp

myexcept.o :  newmat/myexcept.cpp

newmat1.o :  newmat/newmat1.cpp

newmat2.o :  newmat/newmat2.cpp

newmat3.o :  newmat/newmat3.cpp

newmat4.o :  newmat/newmat4.cpp

newmat5.o :  newmat/newmat5.cpp

newmat6.o :  newmat/newmat6.cpp

newmat7.o :  newmat/newmat7.cpp

newmat8.o :  newmat/newmat8.cpp

newmat9.o :  newmat/newmat9.cpp

newmatex.o :  newmat/newmatex.cpp

newmatnl.o :  newmat/newmatnl.cpp

newmatrm.o :  newmat/newmatrm.cpp

nm_misc.o :  newmat/nm_misc.cpp

solution.o :  newmat/solution.cpp

sort.o :  newmat/sort.cpp

submat.o :  newmat/submat.cpp

svd.o :  newmat/svd.cpp

Depbench =  bench.o libroboop.a libnewmat.a

bench : $(Depbench)
        $(CC) $< -o $@ $(LIBS)

bench.o :  source/bench.cpp source/utils.h source/robot.h

clean:
        rm *.o *.a

veryclean: clean
        rm rtest bench demo demo_2dof_pd

quando esegui il make All

gcc-cris  -isystem 
/home/fox/devboard-R2_01/target/cris-axis-linux-gnu/include -mlinux 
-mno-mul-bug-workaround -c -O -I /usr/include -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread  -o rtest.o source/rtest.cpp
gcc-cris  -isystem 
/home/fox/devboard-R2_01/target/cris-axis-linux-gnu/include -mlinux 
-mno-mul-bug-workaround -c -O -I /usr/include -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread  -o gnugraph.o source/gnugraph.cpp
gcc-cris  -isystem 
/home/fox/devboard-R2_01/target/cris-axis-linux-gnu/include -mlinux 
-mno-mul-bug-workaround -c -O -I /usr/include -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread  -o comp_dq.o source/comp_dq.cpp
gcc-cris  -isystem 
/home/fox/devboard-R2_01/target/cris-axis-linux-gnu/include -mlinux 
-mno-mul-bug-workaround -c -O -I /usr/include -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread  -o comp_dqp.o source/comp_dqp.cpp
gcc-cris  -isystem 
/home/fox/devboard-R2_01/target/cris-axis-linux-gnu/include -mlinux 
-mno-mul-bug-workaround -c -O -I /usr/include -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread  -o delta_t.o source/delta_t.cpp
gcc-cris  -isystem 
/home/fox/devboard-R2_01/target/cris-axis-linux-gnu/include -mlinux 
-mno-mul-bug-workaround -c -O -I /usr/include -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread  -o dynamics.o source/dynamics.cpp
gcc-cris  -isystem 
/home/fox/devboard-R2_01/target/cris-axis-linux-gnu/include -mlinux 
-mno-mul-bug-workaround -c -O -I /usr/include -I ./source -I ./newmat -Wall 
-D_REENTRANT -pthread  -o homogen.o source/homogen.cpp

a questo punto ottengo un errore
/usr/include/bits/mathinline.h: In function 'ReturnMatrix irotk(const 
Matrix&)':
/usr/include/bits/mathinline.h:425 unkknown register name 'st(1)' in 'asm'
/usr/include/bits/mathinline.h:425 unkknown register name 'st(1)' in 'asm'
/usr/include/bits/mathinline.h:425 unkknown register name 'st(1)' in 'asm'
/usr/include/bits/mathinline.h:425 unkknown register name 'st(1)' in 'asm'
/usr/include/bits/mathinline.h:425 unkknown register name 'st(1)' in 'asm'
make: *** [homegen.o] Error 1

Ho trovato in internet che questo errore è dovuto ad una direttiva errata, 
il registro st è presente nelle cpu x86.

Qualcuno sa darmi qualche indicazione?

Grazie
Ezio

_________________________________________________________________
Hotmail 1 GB: ancora più spazio per i tuoi messaggi e foto! GRATIS! 
http://specials.it.msn.com/hotmail.aspx

Reply via email to