Hallo ich habe mir von der Internetseite codeproject.com das Demo von
Xgraph heruntergeladen. Mit Microsoft Visual Studio C++ 2008 (Prof.)
habe ich dieses Projekt geöffnet. Beim Übersetzen erscheinen zahlreiche
Fehlermeldungen. Wahrscheinlich liegt es daran, dass dieses Projekt ein
MFC Projekt ist. Müsste ich in Microsoft Visual Studio C++ 2008 (Prof.)
irgendwelche Einstellungen vornehmen?
Fehlermeldung:
Fehler 1 error C4430: Fehlender Typspezifizierer - int wird
angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und
einstellungen\user\desktop\xgraph_demo\include\gfxutils.h 70
XGraphTest
Ich habe nun den Kompiler auf "Als C-Code kompilieren (/TC)"
eingestellt.
Jetzt erscheint nur eine Fehlermeldung:
Fehlermeldung:
Fehler 1 fatal error C1189: #error : MFC requires C++ compilation
(use a .cpp suffix) c:\programme\microsoft visual studio
9.0\vc\atlmfc\include\afx.h 15 XGraphTest
Das ist zwar nur eine Fehlermeldung, aber eine noch viel
schwerwiegendere. Das ist MFC-Code, und MFC-Code erfordert C++.
Ein C-Compiler kann das gar nicht übersetzen.
Lass also diese falsche Compilereinstellung sein und versuche, das
erste Problem zu lösen.
Zeile 70 in gfxutils.h ist
Ok ich hab nun den Kompiler wieder auf C++ gestellt. War blöd von mir.
Nun weiss ich nicht wie ich diese Meldung beheben kann:
Fehler 1 error C4430: Fehlender Typspezifizierer - int wird
angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
c:\dokumente und
einstellungen\user\desktop\xgraph_demo\include\gfxutils.h 70
XGraphTest
Hier habe ich zwar ein Fragezeichen vergessen, aber ich zitiere mich
trotzdem mal:
> Was passiert, wenn Du auf die Fehlermeldung einen Doppelklick machst?
Welcher Code wird dann angezeigt?
Dann sind immerhin das VC und mein Editor der gleichen Ansicht, was die
Zeilennummer betrifft.
Der Fehler liegt hier darin, daß für operator= kein Rückgabewert
definiert wurde. Das ist ... schluderig.
Probier mal das hier:
Insgesamt scheint das Ding ziemlich hingeschludert zu sein, willst Du
Dir das wirklich antun?
Wie Du übrigens an den Kommentaren auf CodeProject (denen Du selbst
relativ sinnlos einen deutschsprachigen hinzugefügt hast) entnehmen
können dürftest, macht dieser Code Probleme beim Übersetzen mit neueren
MS-Compilern.
Und wie Du auch feststellen können solltest, hat der Autor vor 5 Jahren
die Entwicklung eingestellt.
Danke! Hab nun noch zwei Fehlermeldungen:
Fehler 2 fatal error CVT1100: duplicate resource. type:MANIFEST,
name:1, language:0x0409 CVTRES XGraphTest
Fehler 3 fatal error LNK1123: Fehler bei der Konvertierung in COFF:
Datei ist ungültig oder beschädigt. XGraphTest XGraphTest
Da wirst Du Dich jetzt selber durchbeißen müssen, ich habe hier weder
einen MS-Compiler noch einen Rechner mit Windows ...
Resourcen vom Typ Manifest sind nicht unbedingt nötig, sieh Dir mal die
Manifest-Einstellungen Deiner Entwicklungsumgebung an.
Ganz merkwürdig ist allerdings die Linkerfehlermeldung mit COFF - seit
wann verwendet Microsoft das?
Rufus t. Firefly schrieb:
> Insgesamt scheint das Ding ziemlich hingeschludert zu sein, willst Du> Dir das wirklich antun?
Teile davon wirken wirklich ziemlich hingeschludert.
Chris Maunder schreibt normalerweise wesentlich besser. Da dürfte jemand
drann gewesen sein, der nicht wirklich wusste was er tat.
Ausserdem: Was willst du damit? Das ist eine fertige Lib. Ohne Source
Code der Implementierung ist so etwas ziemlich wertlos, weil du keine
für dich notwendigen Anpassungen machen kannst.
Bei Codeproject hab ich mir schon lange angewöhnt, die Sourcen als
Vorlage bzw. Studie zu sehen, die eine Idee vermitteln. Ganz selten,
dass ich von dort etwas übernehmen konnte, an dem ich nicht Hand anlegen
musste.
Als Technologielieferant bzw. als Demo wie man bestimmte Dinge machen
kann, ist Codeproject aber immer einen Blick wert.