Hilfe für die fitsio library
-
Hallo Leute,
kurz zu mir und meiner Situation:
ich bin noch ein blutiger Anfänger im Programmieren. Hatte bis jetzt lediglich 1 Semester in C++ an der Uni (aber mit 1.0 bestanden
).Momentan bin ich als Werkstudent angestellt und soll dort aus dem Speicher einer Kamera, Bilder auslesen, die dann in das Fits-Format Umwandeln.
homepage: http://heasarc.gsfc.nasa.gov/fitsio/Das Problem:
Ich soll mit Visual C++ 2010 programmieren.
So, wenn ich versuche Example Code zu Compilieren:#include <string.h> #include <stdio.h> #include "fitsio.h" int main (int argc, char *argv[]) { fitsfile *fptr; char card[FLEN_CARD]; int status = 0, nkeys, ii; //must initialize status fits_open_file(&fptr, argv[1], READONLY, &status); fits_get_hdrspace(fptr, &nkeys, NULL, &status); for (ii = 1; ii <= nkeys; ii++) { fits_read_record(fptr, ii, card, &status); printf("%s\n", card); } printf("END\n\n"); fits_close_file(fptr, &status); if (status) fits_report_error(stderr,status); return(status); }bekomme ich immer folgende Fehlermeldung:
1>------ Erstellen gestartet: Projekt: cfit, Konfiguration: Debug Win32 ------
1> main.cpp
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_ffrprt" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_ffclos" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_ffgrec" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_ffghsp" in Funktion "_main".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_ffopentest" in Funktion "_main".
1>c:\users\uemit\documents\visual studio 2010\Projects\cfit\Debug\cfit.exe : fatal error LNK1120: 5 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========ich hab keine Idee wie ich den Fehler beheben kann.
Kann mit bitte einer einen Tipp geben.
Vielen Dank im Voraus
Grüße
Der_U
-
du musst die entsprechende bibliothek dazu linken.
-
elise schrieb:
du musst die entsprechende bibliothek dazu linken.
Oh. Tut mir leid.
die links:
ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfit3310.zip
und
ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsiodll_3300_vcc.zip
-
*facepalm*
du musst dem linker sagen, dass er die bibliothek einbinden soll. in den projekteinstellungen.
-
mootex schrieb:
*facepalm*
du musst dem linker sagen, dass er die bibliothek einbinden soll. in den projekteinstellungen.
habe ich wie folgt,schon gemacht:
Projekt -> Eigenschaften -> Linker -> Allgemein und unter Zusätzliche Bibliotheken die beiden Verzeichnisse angegeben.
und
Projekt -> Eigenschaften -> C++ -> Allgemein und unter Zusätzliche includeverzeichnisse die beiden Verzeichnisse angegeben.
-
Der_U schrieb:
mootex schrieb:
*facepalm*
du musst dem linker sagen, dass er die bibliothek einbinden soll. in den projekteinstellungen.
habe ich wie folgt,schon gemacht:
Projekt -> Eigenschaften -> Linker -> Allgemein und unter Zusätzliche Bibliotheken die beiden Verzeichnisse angegeben.
.klingt unvollständig.
du musst die cfitsio.lib direkt noch linken.
-
elise schrieb:
Der_U schrieb:
mootex schrieb:
*facepalm*
du musst dem linker sagen, dass er die bibliothek einbinden soll. in den projekteinstellungen.
habe ich wie folgt,schon gemacht:
Projekt -> Eigenschaften -> Linker -> Allgemein und unter Zusätzliche Bibliotheken die beiden Verzeichnisse angegeben.
.klingt unvollständig.
du musst die cfitsio.lib direkt noch linken.Ok. Habe jetzt unter Projekt -> Eigenschaften -> Linker -> unter Eingabe in die Zeile Zusätzliche Abhängigkeiten cfitsio.lib hinzugefügt und in das Projektverzeichnis die Dateien cfitsio.lib und cfitsio.dll eingefügt. Jetzt kommt die folgende Fehlermeldung:
Unbehandelte Ausnahme bei 0x5279a5ea in cfit.exe: 0x0000005
Zugriffsverletzung beim Lesen an Position 0x0000000.wenn ich auf weiter klicke kommt das selbe Fenster wieder. Also klicke ich auf unterbrechen! Und muss das Debuggen manuel beenden.
Jemand noch ne Idee?
-
ok, die exe läuft, nun setzte einen haltepunkt und debugge schritt für schritt.
übrigens: du öffnest eine datei, übergibst du sie als argument?
fits_open_file(&fptr, argv[1], READONLY, &status);