PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fitstools 1.0 bauen



zyrusthc
13.05.14, 10:28
Ich hänge hier irgendwie fest und finde nichts im Netz. Jemand ne Idee?

g++ -Wall -Wextra -pedantic -O3 -I/usr/include/CCfits -I./include -c -o getpsf.o getpsf.cc
In file included from getpsf.cc:4:0:
./include/statistics.h: In Instanziierung von »T mean_iter(const std::vector<T>&, long int, float, int, double, std::string) [mit T = float; std::string = std::basic_string<char>]«:
getpsf.cc:139:50: von hier erfordert
./include/statistics.h:166:34: Fehler: »rms« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
sdev = rms(data, dim, threshold);
^
./include/statistics.h:350:3: Anmerkung: »template<class T> T rms(const std::vector<T>&, long int, double)« hier deklariert, später in Übersetzungseinheit
T rms(vector<T> const &data, const long dim, double threshold = -1.0E+12)
^
./include/statistics.h:187:34: Fehler: »rms« wurde in diesem Gültigkeitsbereich nicht deklariert, und bei argumentabhängiger Suche am Ort der Instanziierung wurden keine Deklarationen gefunden [-fpermissive]
sdev = rms(tmp2, j, threshold);
^
./include/statistics.h:350:3: Anmerkung: »template<class T> T rms(const std::vector<T>&, long int, double)« hier deklariert, später in Übersetzungseinheit
T rms(vector<T> const &data, const long dim, double threshold = -1.0E+12)
^
<builtin>: recipe for target 'getpsf.o' failed
make: *** [getpsf.o] Error 1


Greeez Oli

derguteweka
13.05.14, 12:48
Moin,


Ich hänge hier irgendwie fest und finde nichts im Netz. Jemand ne Idee?

Klaro, sogar mehrere:
1.) Fehlermeldungen auf englisch produzieren und googlen. Deutsche Fehlermeldungen sind nicht gerade die cleverste Herangehensweise.
2.) Das tolle an C++ ist, dass sich irgendwelche Standards und der Grad, mit dem Compiler sich dran halten, alle Furz lang soweit aendern, dass ein und der selbe src sich ploetzlich mit einem anderen gcc nicht mehr fehlerfrei compilieren laesst. Die ueblichen Verdaechtigen sind dann:
2a.) bei den CXXFLAGS mal noch -fpermissive mit angeben
2b.) irgendwelche Headerdateien includieren, ohne die's vorher noch ging.
2c.) Irgendwas abgefahreneres, fuer was man wirklich C++ programmieren koennen muss. Da muss ich dann aber passen (ich kann nur C).

Gruss
WK

zyrusthc
13.05.14, 13:56
Danke für den Tip damit konnte ich es jetzt lösen.

im fitstools-1.0/Makefile CXXFLAGS zusätzlich -fpermissive mitgeben.

Folgende Dateien #include<unistd.h> hinzugefügt.
fitstools-1.0/fftw/subsky.cc
fitstools-1.0/fftw/convolve.cc
fitstools-1.0/fftw/fitsgauss.cc
fitstools-1.0/fftw/xcorr.cc
fitstools-1.0/swarpfilter.cc

derguteweka
13.05.14, 19:51
Moin,

Puh - Massel g'habt, dass es ohne 2c.) abging :D

Gruss
WK