Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

25.07.2013, 21:34

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
include <iostream>
#ifdef BUILD_DLL
#undef BUILD_DLL
#endif
#include "Link.h"

int main()
{
    std::cout << soma(1.5, 2.5);
    return 0;
}


beim #include "Link.h" sagt er, das er die DLL nicht finden kann


.lib ist nicht das ende der datei habe nur dll und libLink.a

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

12

25.07.2013, 21:54

Klingt komisch.
Zeig mal die Ausgabe des Compilers/Linkers!

13

25.07.2013, 22:34

sry , war noch unterwegs

-------------- Build: Debug in fffff (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -Wall -g -I"C:\Dokumente und Einstellungen\Leridon\Eigene Dateien\Downloads\SDL-devel-1.2.15-mingw32\SDL-1.2.15\include" -IC:\MinGW\include -I"C:\Dokumente und Einstellungen\Leridon\Eigene Dateien\mop\Include" -c "C:\Dokumente und Einstellungen\Leridon\Desktop\Schnuck\fffff\main.cpp" -o obj\Debug\main.o
C:\Dokumente und Einstellungen\Leridon\Desktop\Schnuck\fffff\main.cpp:24:18: error: Link.h: No such file or directory
C:\Dokumente und Einstellungen\Leridon\Desktop\Schnuck\fffff\main.cpp: In function »int main()«:
C:\Dokumente und Einstellungen\Leridon\Desktop\Schnuck\fffff\main.cpp:28: Fehler: »soma« wurde in diesem Gültigkeitsbereich nicht definiert
Process terminated with status 1 (0 minutes, 0 seconds)
2 errors, 0 warnings (0 minutes, 0 seconds)


er findet die link.h nicht :) aber gelinkt ist libLink.a

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

14

25.07.2013, 23:18

Ähm, wenn er die Link.h nicht findet, dann wird sie wohl ganz einfach nicht da sein?

Cookiezzz

Frischling

Beiträge: 91

Wohnort: Deutschland

Beruf: Schüler

  • Private Nachricht senden

15

26.07.2013, 10:43

Du hast keine .lib Datei, weil du MinGW als compiler verwendest. Da haben die .lib Dateien die (unter Linux übliche) Endung .a. Nur als Erklärung. Wegen deinem Fehler: Liegt die Link.h im gleichen Ordner wie deine main.cpp? Existiert sie überhaupt? Heißt sie evtl. anders?

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

16

26.07.2013, 12:25

So wie in seinem Anfangspost steht, heißt die Datei DLL.h. Hast du die auch zum Projekt hinzugefügt und zur main.cpp kopiert?

17

26.07.2013, 17:27

ok jetzt klappts, habs anfangfs falsch verstanden.

Wenn ich eine static dll einbinde, brauche ich beim kompilieren also die .h datei noch, aber wenn es kompiliert wurde, braucht die exe nurnoch die dll richtig?

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

18

26.07.2013, 17:34

Ja, genau so stimmts. Es gibt zwar keine static dll, sondern du kannst sie statisch einbinden (Compiler erledigt das Laden der DLL und das richtige Handhaben der Funktionspointer). Egal, wie du die DLL einbindest, du brauchst nach dem Kompilieren nur noch die exe und die dll.

19

26.07.2013, 18:13

okay :) genau so wollte ich das haben.

Ich danke nochmal allen für die Hilfe :)

Muss mir jetzt nur mal anschauen, wie ich klassen in dlls einbinde :)

Also sozusagen meine Sprite hpp +cpp mit einer dll Linke.

Bis jetzt habe ich ja nur eine Funktion drinne, sie soll aber später das Framework aus sprite, sound und so beinhalten

20

26.07.2013, 21:54

kann ich meine fertige engine als hpp datei zu der dll hinzufügen?

habe jetzt nur Beispiele gefunden, die direkte Klassen in die Dll schreiben.

Werbeanzeige