Στις 3 Οκτωβρίου 2011 12:27 μ.μ., ο χρήστης Alexios Zavras <zvr+foss [ at ] zvr [ dot ] gr> έγραψε: > Nick Kossifidis wrote [edited]: >> Το θέμα είναι το όνομα της μεταβλητής ή ότι μέχρι τώρα έβαζα τα >> συγκεκριμένα arguments στην αρχή της εντολής και δούλευε και στον 4.6 >> που δοκίμασα δε δουλεύει ? Το θες αλλιώς ? Το >> gcc $CFLAGS $LDFLAGS -c foo.c -o bar.o >> δούλευε πριν και τώρα δουλεύει μόνο το >> gcc -c foo.c -o bar.o $CFLAGS $LDFLAGS > > εγώ πιστεύω ότι θα δουλεύει και το > gcc $CFLAGS -c -o bar.o foo.c $LDFLAGS > :-) > Ναι αυτό είναι το σωστό γενικά και αυτό θα δεις στα Makefiles, απλά βαριέμαι και τα έβαλα όλα μαζί πακέτο σε ένα bash script να ξεμπερδεύω. Θα ασχοληθώ με automake/autoconf αφού ξεμπερδέψω με τα υπόλοιπα. > βέβαια η λογική του να έχεις "-c" (just compile; don't link) > μαζί με "$LDFLAGS" (linker options) μου διαφεύγει... > Ναι δίκιο, το linking stage έρχεται μετά απλά (και το έχω δει και σε Makefiles αυτό) τα flags τα βάζουν γενικώς παντού, πες από συνήθεια :P Ποιο συγκεκριμένα το scriptάκι είναι κάπως έτσι... CFLAGS=`pkg-config --cflags --libs openssl libcurl` CFLAGS="$CFLAGS -fPIC -DΒΑΝΑΝΑ" OBJS="test1 test2 test3" για κάθε OBJ κάνω gcc $CFLAGS -c $(OBJ).c -o $(OBJ).o και μετά gcc $CFLAGS -shared -Wl,-soname,libtest.so.0 -o libtest.so.0.1 $OBJS Ε για να δουλέψει στο 4.6 έπρεπε να βάλω τα CFLAGS στο τέλος της εντολής, απλά δεν το ανέλυσα γιατί το όλο σκηνικό ξεκίνησε στη βάση ότι αυτό το πράγμα μέχρι τώρα έτρεχε κανονικά (άρα προφανώς το linking δούλευε). > -- > -- zvr -- > -- +---------------------------+ Alexios Zavras (-zvr-) > | H eytyxia den exei enoxes | zvr [ at ] zvr [ dot ] gr > +-----------------------zvr-+ > -- GPG ID: 0xD21DB2DB As you read this post global entropy rises. Have Fun ;-) Nick