[Linux-Biella] Problema compilazione
Claudio M.
cmaffio a bilug.linux.it
Gio 17 Maggio 2007 11:35:11 CEST
Ciao
Ho un programma scritto in c++ da compilare per gestire un apparato, il
produttore ha fornito le librerie e un file di esempio
Come prima cosa ho voluto compilare questa demo per vedere come funziona
per poi apportare le modifiche che mi servono
Il file di "compilazione non e' un normale Makefile ma un semplice file sh
#!/bin/sh
g++ -Wall -g -c -o demo.o -x c++ demo.cpp
g++ -o demo demo.o libggs.a -lpthread
Quando lo eseguo ottengo il seguente output
libggs.a(ggs.o): In function `saveBoxConfig()':
ggs.cpp:(.text+0x2e32): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `Shutdown()':
ggs.cpp:(.text+0x3d10): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `boxLoggerSettingConfirm(char const*)':
ggs.cpp:(.text+0x55a2): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `boxGPIOSettingConfirm(char const*, char)':
ggs.cpp:(.text+0xbc76): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o): In function `setBoxGpioSmsNum(char const*, char, char
const*, char const*, char const*)':
ggs.cpp:(.text+0xc3f3): undefined reference to `__stack_chk_fail'
libggs.a(ggs.o):ggs.cpp:(.text+0xca1f): more undefined references to
`__stack_chk_fail' follow
collect2: ld returned 1 exit status
Guardando su goggle ho trovato che gcc ha abilitato un flag di
protezione dello stack e che per disabilitarlo bisogna aggiungere nei
CFLAG -fno-stack-protector e quindi ho modificato il file con i comandi
di compilazione aggiungendo il comando indicato ma non e' cambiato nulla
La compilazione l'ho provata su una debian con gcc 4.1 e su una opensuse
con gcc 4.1
Qualcuno sa darmi una mano?
Bye
--
Contatto msn: msn a cmaffio.it
L'utilizzo di tastiere o di mouse
puo' causare seri infortuni o disturbi"
(dal manuale della "MS Keyboard Elite for Bluetooth")
Maggiori informazioni sulla lista
Linux