FLTK Linker Error



  • Welche Runtime hast du gewählt? (Zu finden unter C/C++->Codeerstellung->Laufzeitbib) Ich habe hier auf die Nicht-DLL-Variante umgestellt. Bei DLL-Runtimes bekomme ich auch Link-Errors.

    Wenn das auch nicht hilft, dann nochmal die fltk2 Lib neu bauen.

    Funktionieren tut es auf jeden Fall. Habs hier mit VC++2003 ausprobiert.



  • Leider funktioniert es immer noch nicht ...
    Habe das Programm mit allen Modi kompiliert und erhalte immer diese Linker Errors.
    Ich bekomme immer beim Öffnen des FLTK Projekts eine Meldung:

    Der dieser Projektmappe zugeordnete Quellcodeverwaltungsanbieter wurde nicht gefunden. Die Projekte werden als nicht in Quellcodeverwaltung befindliche Projekte behandelt.
    Sollen die Quelcodeveraltungsbindungen permanent aus den Projekten entfernt werden?
    

    Wenn ich da mit Ja bestätige erhalte ich während dem Kompilieren von FLTK Fatal Errors, das ein bestimmter Quellcode nicht gefunden werden kann. Also drücke ich immer Nein. Könnte es an dieser Fehlermeldung liegen, dass mein Programm diese Linker Errors ausgibt?

    Welche Libaries müssen den beim Kompilieren erstellt werden? In meinem lib Ordner von FLTK sind jetzt 4:

    • fltk2.lib
    • fltk2_gl.lib
    • fltk2_gld.lib
    • fltk2d.lib


  • Hem, also wie die Fehlermeldung zu stande kommt, weiß ich nicht. Die fltk2 lib muß natürlich korrekt gebaut werden. Welches Projektfile hast du denn geöffnet, um die Libs zu bauen?

    ide/visualc/fltk.sln habe ich geöffnet und dann Erstellen->Projektmappe bauen lassen.

    Für das helloworld reicht die fltk2d.lib (debug) bzw. fltk2.lib (release). Die anderen Libs sind in der README im lib-Verzeichnis aufgeführt:

    fltk2 - the core of fltk2, most programs only need this
    fltk2_images - functions that use glut, png, jpg, other image libraries
    fltk2_gl - Fl_Gl_Window and functions that use OpenGL
    fltk2_glut - glut emulation functions
    fltk2_forms - forms emulation functions

    Schick mir mal deine vcproj-Datei von deinem Helloworld und poste mal den Inhalt hier. Da muß ja irgendwas fauel sein...



  • Ich habe immer die .dsw Datei geöffnet ... Ich probiere es jetzt nochmal mit der .sln Datei.
    Habe gerade FLTK nochmal neu entpackt, damit das ganz "frisch" ist. Leider existiert bei mir nur die fltk.dsw. Die .sln Datei ist im alten Verzeichnis. Die wurde wahrscheinlich von Visul C++ automatisch erstellt als ich die dsw Datei geöffnet habe oder?
    So habe es nochmal kompiliert, wie du es oben beschrieben hattest. Habe vorher unter Debuggen kompiliert mit F5. Allerdings habe ich Linker Fehler erhalten ... Ich glaube es liegt doch irgendwie am Platform SDK.
    Hier ein paar Linker Errors, die ich erhalten habe:

    fltk2d.lib(Window.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_surface_destroy" in Funktion ""public: virtual void __thiscall fltk::Window::draw(void)" (?draw@Window@fltk@@UAEXXZ)".
    fltk2d.lib(run.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_surface_destroy".
    fltk2d.lib(setcolor.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_surface_destroy".
    fltk2d.lib(Window.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_create" in Funktion ""public: virtual void __thiscall fltk::Window::draw(void)" (?draw@Window@fltk@@UAEXXZ)".
    fltk2d.lib(run.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_create".
    fltk2d.lib(setcolor.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_create".
    fltk2d.lib(run.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_win32_surface_create" in Funktion ""struct _cairo_surface * __cdecl fltk::cairo_create_surface(class fltk::Window *)" (?cairo_create_surface@fltk@@YAPAU_cairo_surface@@PAVWindow@1@@Z)".
    fltk2d.lib(setcolor.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_win32_surface_create".
    fltk2d.lib(run.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_destroy" in Funktion ""void __cdecl cairo_invalidate_context(void)" (?cairo_invalidate_context@@YAXXZ)".
    fltk2d.lib(fillrect.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_fill" in Funktion ""void __cdecl fltk::fillrect(int,int,int,int)" (?fillrect@fltk@@YAXHHHH@Z)".
    fltk2d.lib(path.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_fill".
    fltk2d.lib(fillrect.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_rectangle" in Funktion ""void __cdecl fltk::fillrect(int,int,int,int)" (?fillrect@fltk@@YAXHHHH@Z)".
    fltk2d.lib(clip.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_rectangle".
    fltk2d.lib(fillrect.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_stroke" in Funktion ""void __cdecl fltk::strokerect(int,int,int,int)" (?strokerect@fltk@@YAXHHHH@Z)".
    fltk2d.lib(path.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_stroke".
    fltk2d.lib(fillrect.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_line_to" in Funktion ""void __cdecl fltk::drawline(int,int,int,int)" (?drawline@fltk@@YAXHHHH@Z)".
    fltk2d.lib(path.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "_cairo_line_to".
    fltk2d.lib(fillrect.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_move_to" in Funktion ""void __cdecl fltk::drawline(int,int,int,int)" (?drawline@fltk@@YAXHHHH@Z)".
    fltk2d.lib(setcolor.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_set_dash" in Funktion ""void __cdecl fltk::line_style(int,double,char *)" (?line_style@fltk@@YAXHNPAD@Z)".
    fltk2d.lib(setcolor.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_set_line_join" in Funktion ""void __cdecl fltk::line_style(int,double,char *)" (?line_style@fltk@@YAXHNPAD@Z)".
    fltk2d.lib(setcolor.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_set_line_cap" in Funktion ""void __cdecl fltk::line_style(int,double,char *)" (?line_style@fltk@@YAXHNPAD@Z)".
    fltk2d.lib(setcolor.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_set_line_width" in Funktion ""void __cdecl fltk::line_style(int,double,char *)" (?line_style@fltk@@YAXHNPAD@Z)".
    fltk2d.lib(setcolor.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_cairo_set_source_rgb" in Funktion ""void __cdecl fltk::setcolor(unsigned int)" (?setcolor@fltk@@YAXI@Z)".
    

    Hier ist meine .vcproj Datei:

    <?xml version="1.0" encoding="Windows-1252"?>
    <VisualStudioProject
    	ProjectType="Visual C++"
    	Version="8,00"
    	Name="fltk_test"
    	ProjectGUID="{B5DFAD40-AF2B-4AA8-8519-CFF5880E2BB0}"
    	RootNamespace="fltk_test"
    	Keyword="Win32Proj"
    	>
    	<Platforms>
    		<Platform
    			Name="Win32"
    		/>
    	</Platforms>
    	<ToolFiles>
    	</ToolFiles>
    	<Configurations>
    		<Configuration
    			Name="Debug|Win32"
    			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
    			IntermediateDirectory="$(ConfigurationName)"
    			ConfigurationType="1"
    			CharacterSet="1"
    			>
    			<Tool
    				Name="VCPreBuildEventTool"
    			/>
    			<Tool
    				Name="VCCustomBuildTool"
    			/>
    			<Tool
    				Name="VCXMLDataGeneratorTool"
    			/>
    			<Tool
    				Name="VCWebServiceProxyGeneratorTool"
    			/>
    			<Tool
    				Name="VCMIDLTool"
    			/>
    			<Tool
    				Name="VCCLCompilerTool"
    				Optimization="0"
    				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
    				MinimalRebuild="true"
    				BasicRuntimeChecks="3"
    				RuntimeLibrary="0"
    				UsePrecompiledHeader="0"
    				WarningLevel="3"
    				Detect64BitPortabilityProblems="true"
    				DebugInformationFormat="4"
    			/>
    			<Tool
    				Name="VCManagedResourceCompilerTool"
    			/>
    			<Tool
    				Name="VCResourceCompilerTool"
    			/>
    			<Tool
    				Name="VCPreLinkEventTool"
    			/>
    			<Tool
    				Name="VCLinkerTool"
    				AdditionalOptions="fltk2.lib fltk2_gl.lib"
    				AdditionalDependencies="kernel32.lib $(NoInherit)"
    				LinkIncremental="2"
    				GenerateDebugInformation="true"
    				SubSystem="1"
    				TargetMachine="1"
    			/>
    			<Tool
    				Name="VCALinkTool"
    			/>
    			<Tool
    				Name="VCManifestTool"
    			/>
    			<Tool
    				Name="VCXDCMakeTool"
    			/>
    			<Tool
    				Name="VCBscMakeTool"
    			/>
    			<Tool
    				Name="VCFxCopTool"
    			/>
    			<Tool
    				Name="VCAppVerifierTool"
    			/>
    			<Tool
    				Name="VCWebDeploymentTool"
    			/>
    			<Tool
    				Name="VCPostBuildEventTool"
    			/>
    		</Configuration>
    		<Configuration
    			Name="Release|Win32"
    			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
    			IntermediateDirectory="$(ConfigurationName)"
    			ConfigurationType="1"
    			CharacterSet="1"
    			WholeProgramOptimization="1"
    			>
    			<Tool
    				Name="VCPreBuildEventTool"
    			/>
    			<Tool
    				Name="VCCustomBuildTool"
    			/>
    			<Tool
    				Name="VCXMLDataGeneratorTool"
    			/>
    			<Tool
    				Name="VCWebServiceProxyGeneratorTool"
    			/>
    			<Tool
    				Name="VCMIDLTool"
    			/>
    			<Tool
    				Name="VCCLCompilerTool"
    				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
    				RuntimeLibrary="2"
    				UsePrecompiledHeader="0"
    				WarningLevel="3"
    				Detect64BitPortabilityProblems="true"
    				DebugInformationFormat="3"
    			/>
    			<Tool
    				Name="VCManagedResourceCompilerTool"
    			/>
    			<Tool
    				Name="VCResourceCompilerTool"
    			/>
    			<Tool
    				Name="VCPreLinkEventTool"
    			/>
    			<Tool
    				Name="VCLinkerTool"
    				AdditionalDependencies="kernel32.lib $(NoInherit)"
    				LinkIncremental="1"
    				GenerateDebugInformation="true"
    				SubSystem="1"
    				OptimizeReferences="2"
    				EnableCOMDATFolding="2"
    				TargetMachine="1"
    			/>
    			<Tool
    				Name="VCALinkTool"
    			/>
    			<Tool
    				Name="VCManifestTool"
    			/>
    			<Tool
    				Name="VCXDCMakeTool"
    			/>
    			<Tool
    				Name="VCBscMakeTool"
    			/>
    			<Tool
    				Name="VCFxCopTool"
    			/>
    			<Tool
    				Name="VCAppVerifierTool"
    			/>
    			<Tool
    				Name="VCWebDeploymentTool"
    			/>
    			<Tool
    				Name="VCPostBuildEventTool"
    			/>
    		</Configuration>
    	</Configurations>
    	<References>
    	</References>
    	<Files>
    		<Filter
    			Name="Quelldateien"
    			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
    			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
    			>
    			<File
    				RelativePath=".\fltk_test.cpp"
    				>
    			</File>
    		</Filter>
    		<Filter
    			Name="Headerdateien"
    			Filter="h;hpp;hxx;hm;inl;inc;xsd"
    			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
    			>
    		</Filter>
    		<Filter
    			Name="Ressourcendateien"
    			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
    			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
    			>
    		</Filter>
    	</Files>
    	<Globals>
    	</Globals>
    </VisualStudioProject>
    


  • Sorry, die slnn wie durch MSVC neu erstellt durch die Konverteirung von dsw nach sln. Hast Recht.

    Wie hast du denn nun das ganze gebaut nachdem du die dsw konvertieren lassen hast? Hast du F7 gedrückt bzw "Projektmappe bauen"??? Und hast du die Config "Debug" gewählt?

    Die Cairo-Errors lassen vermuten, das du die "Debug Cairo" gewählt hast. Cairo ist eine zus. Library, lass die mal aus dem Spiel. (die ist nicht dabei)

    Weiterhin fällt mir an deiner vcproj auf, das du fltk2.lib aber nicht die ws2_32.lib und msimg32.lib eingebunden hast. Die müssen IMMER dabei sein. fltk2_gl.lib hast du hinzugefügt, ist aber für das helloworld erstmal unwichtig, da diese lib für OpenGL zuständig ist.

    In der vcproj habe ich keine Verweise auf die Verzeichnisse für fltk-Includes und die fltk-lib gefunden? Hast du sie in den globalen VC++-Settings eingetragen? Dann ist es i.O. Falls nicht, folgendes hinzufügen:

    C/C++->Allgemein->Zus. Includeverz:
    fltk-2.0.x-r5256
    fltk-2.0.x-r5256\fltk\compat

    Linker->Allgemein->Zus. Bibl-Verz.: fltk-2.0.x-r5256\lib

    Wenn das immer noch nicht funktioniert, muß woanders der Wurm drin sein.



  • Habe nun FLTK nochmal kompiliert 🙂
    Habe Debug als Modus gewählt.
    Ja ich hatte das Hauptverzeichnis unter Include-Dateien global angegeben. Die anderen Pfade habe ich nun auch noch an den entsprechenden Stellen hinzugefügt.
    Die ws2_32.lib und die msimg32.lib sind doch im Microsoft Platform SDK enthalten? Zumindest finde ich sie bei mir dort. Die Pfade des SDKs habe ich global unter VC++ Verzeichnisse angegeben.
    Nachdem ich FLTK im Debug Mudos erfolgreich nur mit ein paar Warnungen erstellt habe, habe ich mein Hello World Prograsmm erneut kompiliert und erhielt lediglich die Fehlermeldung:

    LINK : fatal error LNK1104: Datei "fltk2.lib" kann nicht geöffnet werden.
    

    .
    Da bei mir nur die fltk2d.lib existiert (aufgrund des Debug Modus?), habe ich FLTK nochmal im Release Modus erstellt, was allerdings erneut zu der oben genannten Fehlermelung führte und mir bei meinem Hello World Programm wieder eine Flut von Linker Errors einbrachte ...
    Danke schonmal für deine Geduld mit mir 🙂



  • Die ws2_32.lib und die msimg32.lib sind doch im Microsoft Platform SDK enthalten? Zumindest finde ich sie bei mir dort.

    Ja, sind Libs von MS für Sockets und Grafik. Die braucht FLTK.

    Da bei mir nur die fltk2d.lib existiert (aufgrund des Debug Modus?)

    Die Libs mit dem d hinten dran, sind die Debug-Varianten.

    was allerdings erneut zu der oben genannten Fehlermelung führte

    Das er die fltk2.lib nicht gefunden hat? Dann hast du den Pfad nicht korrekt angegeben, oder die Datei existriert nicht. Die muß er natürlich finden! Notfalls nicht nur fltk2.lib angeben, sondern mit kompletten Pfad (C:\blabla\fltk2d.lib).

    Mehr kann ich dir auch nicht sagen, weil es einfach nicht mehr einzurichten gibt, wenn man die FLTK-Lib benutzen will. Voraussetzung muß natürlich sein, das die Entwicklungsumgebung unabhängig von FLTK korrekt funktioniert (z.B.PlatformSDK korrekt eingerichtet).

    Wenn fltk2.lib vorhanden ist, hat er sie zumindest ohne Errors gebaut, und das reicht auch.

    Evtl. solltest du einfach im offiziellen fltk-Forum nachfragen, ob es mit VC++2005 EE bekannte Probleme gibt (was ich bezweifel). Oder du versuchst einfach mal ein reines Win32-API-Helloworld-Progamm zu erstellen und zum Laufen zu bekommen, um zu sehen ob die Basis überhaupt bei dir funktioniert.

    Mehr kann ich jetzt leider per Ferndiagnose auch nicht machen.



  • Aber wieso benötigt er zum Erstellen der Bibliotheken bereits eine Bibliothek? Das ist für mich irgendwie unlogisch. Ich habe diese Fehlermeldung, das er die fltk.lib nicht finden kann zweimal bekommen. Das Erste Mal als ich FLTK in der Debug Variante erstellt hatte und dann mein Hello World Programm kompilieren wollte. Das zweite Mal war danach, als ich FLTK in der Release Variante erstellen wollte.
    Wieso braucht er der eine Bibliothek, die er erst noch erstellen soll?



  • Dann hast du mich falsch verstanden. Die Libs wie ws2_32.lib brauchst du für dein HelloWorld.

    Für das bauen von FLTK brauchst du nichts weiter machen als das *.dsw öffnen und die entsprechenden Projekte (z.B. fltk Projekt) bauen lassen. Optimalerweise die gesamte Projektmappe mit F7 komplett bauen lassen.

    So, und dann kannst du doch schon mal die Beispiele aus der Projektmappe ausprobieren (z.B. das demo Projekt starten) und schauen ob diese auch funktionieren. Und die funktionieren eigentlich ohne Beanstandung. Da sind ca. 20 Beispiel-Projekte drin, die man starten kann. Wenn die funktionieren, muß auch dein eigenes HelloWorld funktionieren.

    Für dein HelloWorld mußt du dann aber die Pfade usw. setzen, die drei Libs zuweisen und die passende Runtime wählen. Fertig!



  • Ich glaube du verstehst mich nicht. Also folgendes:
    FLTK Debug Modus => alles wird kompiliert keine Probleme
    FLTK Release Modus => beim Projekt Radio erhalte ich den Linker Error, dass die fltk2.lib nicht geöffnet werden kann.

    Hello World mit FLTK Debug => Linker Error: fltk2.lib kann nicht geöffnet werden
    Hello World mit FLTK Release => Mehrere Linker Errors

    Diese:

    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl fltk::run(void)" (?run@fltk@@YAHXZ)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""class fltk::Symbol * fltk::UP_BOX" (?UP_BOX@fltk@@3QAVSymbol@1@A)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct fltk::Font * fltk::HELVETICA_BOLD_ITALIC" (?HELVETICA_BOLD_ITALIC@fltk@@3QAUFont@1@A)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall fltk::Window::show(int,char * *)" (?show@Window@fltk@@QAEXHPAPAD@Z)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall fltk::Window::Window(int,int,char const *)" (??0Window@fltk@@QAE@HHPBD@Z)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""class fltk::LabelType * fltk::SHADOW_LABEL" (?SHADOW_LABEL@fltk@@3QAVLabelType@1@A)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall fltk::Widget::labelsize(float)" (?labelsize@Widget@fltk@@QAEXM@Z)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall fltk::Widget::labeltype(class fltk::LabelType *)" (?labeltype@Widget@fltk@@QAEXPAVLabelType@2@@Z)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall fltk::Widget::labelfont(struct fltk::Font *)" (?labelfont@Widget@fltk@@QAEXPAUFont@2@@Z)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall fltk::Widget::box(class fltk::Symbol *)" (?box@Widget@fltk@@QAEXPAVSymbol@2@@Z)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall fltk::Widget::Widget(int,int,int,int,char const *)" (??0Widget@fltk@@QAE@HHHHPBD@Z)".
    fltk_test.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static class fltk::Group * fltk::Group::current_" (?current_@Group@fltk@@0PAV12@A)".
    

    Die hängen wahrscheinlich mit dem Fehler beim Komplieren von FLTK im Release Modus zusammen, oder?



  • Ich hoffe dieser Thread ist hier keine Verarschung? "Wie weit muß ich gehen, um ein Forumsmitglied zum Explodieren zu bringen?" 😉

    OK... nochmal:

    FLTK Debug Modus => alles wird kompiliert keine Probleme

    Gut, warum linkst du dann dein HelloWorld nicht gegen die fltk2d.lib? Damit du erstmal EIN Erfolgserlebnis hast. Dieser Build zeigt doch schon mal, das prinzipiell das Bauen der FLTK funktioniert. 👍

    FLTK Release Modus => beim Projekt Radio erhalte ich den Linker Error, dass die fltk2.lib nicht geöffnet werden kann.

    So, ist aber Projekt fltk gebaut wurden? Das Projekt Radio könnte einen Bug haben, nicht schlimm!!! Da es keine Lib ist sondern nur ein Bsp.-Programm. Auch ist FLTK 2.x kein Stable-Release sondern ein wöchentlicher Snapshot, der auch Fehler haben kann.

    Hello World mit FLTK Debug => Linker Error: fltk2.lib kann nicht geöffnet werden

    Versuch doch mal fltk2d.lib, da Punkt 1 doch 100% funktioniert hat. Wenn dein HelloWorld auch dieses nicht findet, hast du ganz einfach vergessen den Lib-Pfad korrekt anzugeben!

    Hello World mit FLTK Release => Mehrere Linker Errors

    komisch! hier findet er die fltk2.lib obwohl sie unter 3. nicht gefunden wurde. Was aber vielleicht nicht verwunderlich ist, weil vielleicht Punkt2 die Lib doch nicht gebaut hat.

    Also, mehr kann ich auch nicht mehr analysieren. Das Problem kann auch vor dem Rechner sitzen. Ich weiß es nicht. 😉 Hast du schon ein eigenes Win32-Fensterprogramm erstellt? (ohne FLTK!) Ansonst mußt du wirklich im offiziellen FLTK-Forum fragen. Ich kann dir absolut nicht weiter helfen.



  • Nein das ist keien Verarsche. Tut mir leid, dass ich deine Geduld hier so strapaziere.
    Wie sage ich dem Programm denn, welche Libary er nehmen soll? Ich gebe ihm doch nur immer das Verzeichnis zu den Libaries.
    Muss ich fltk2.lib unter Projekteigenschaften -> Linker -> Befehlszeile -> zusätzliche Optionen eingeben?



  • Ja, natürlich! Du mußt die Libs gegen die gelinkt werden soll, irgendwo angeben. Es gibt insgesamt vier verschiedene Stellen wo man das machen kann (im Sourcecode über #pragma, im Projektbaum hinzufügen und an zwei Stellen in den Linker-Settings). Deine genannte Stelle ist eine davon. Trag doch einfach mal die drei nötigen Libs ein, über die wir hier die ganze Zeit schreiben.



  • Ich habe diese drei Libs jetzt in die Befehlszeile eingegeben (mit vollständiger Pfad), aber dann bekomme folgende Warnung:

    LINK : warning LNK4098: Standardbibliothek "LIBCMTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
    

    + plus ungefähr 100 Linker Errors. Wenn ich dieses /NODEFAULTLIB aktiviere erhalt ich 300 ...
    Gibt es irgendwo mal eine Step-by-Step Anleitung wie und wo ich Bibliotheken bei Visual C++ einbinden muss? Weil bei anderen GUIs stoße ich auf die selben Fehler mit irgendwelchen Linker Errors 😞



  • Wie schon in vorherigen Beitraägen gesagt, mußt du die Runtime umstellen. Diese dürfte standardmäßig auf Multithreaded-Debug-DLL eingestellt sein. Stell diese mal auf eine Nicht-DLL-Variante um, also Multithreaded-Debug.

    Projekteigenschaften->C/C++->Codeerstellung->Laufzeitbibliothek

    Dann müsste alles perfekt sein.

    Wie man mit dem VC++ umgeht, steht in der Online-MSDN:
    http://msdn2.microsoft.com/en-us/library/60k1461a.aspx
    Und einen Hilfe-Button gibts eigentlich auch noch im Projekt-Dialog. Du müsstest evtl. die MSDN downloaden und einrichten (keine Ahnung wie das unter Express geht).


Anmelden zum Antworten