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

Anonymous

unregistriert

21

23.06.2005, 13:33

ich muss jetzt soch noch mal was schreiben.

Ich glaube ihr versteht mich Falsch.

Die dll Libary Wird erstellt.
in dieser Libary sind Klassen die ich so:

C-/C++-Quelltext

1
class MYENGINE_API CDirect3D
definiert hab.
ich kann sie auch mit

C-/C++-Quelltext

1
#include "MyEngine.lib"
einbinden und auch Instanzen schreiben

C-/C++-Quelltext

1
CDirect3D Direct3D;

Wenn ich jetzt auf Compilieren drücke, Zeigt es 0 Feher an. Doch wenn ich es ausführen will, zeigt er dann diese Fehlermeldungen an.

22

23.06.2005, 15:31

#include "MyEngine.lib" ???
bezweifle dass das geht.

btw wir verstehen dich schon alle richtig.

1. include keine libs sondern header
2. adde die lib per optionen oder pragma-directive
3. schau dir vllt. noch mal ein tut zum thema an.


gruß 23h
edit: wenn ich sie kompiliere zeigt er 0 fehler an aber wenn ich sie ausführe ?
hä.... ? die fehler die du oben gepostet hast sind typische linker-fehler
die kriegst du zur compile-time angezeigt.

was fürn compiler verwendest du ?

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

23

23.06.2005, 15:33

richtig, eine LIB-Datei ist eine Bibliotheksdatei die deine DLL mit deinem Programm verklinkt. Deshalb musst du die Im Linkler einfügen (Projekt->Optionen->Linker->Abhängigkeiten) oder mach es so wie 23h es gesagt hat.

24

23.06.2005, 15:40

so hier noch mal eine kleine hilfe wie es aussehen sollte und so funzt es auch !

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//projekt 1: myengine:

//   in diesem proj definierst du wie oben von, ich glaub es war koshka beschrieben

//   MYENGINE in den projekt-optionen, was ebenfalls oben beschrieben wurde

//   myengine.h


#ifdef MYENGINE
#   define MYAPI   __declspec(dllexport)
#else
#   define MYAPI   __declspec(dllimport)
#endif


//  myengine-sample-class.h

#include <stdio.h>
#include "myengine.h"

class MYAPI c_sample_class{
public:
     c_sample_class(){ printf("hallo welt\n") };
};

//projekt 2: irgendein "normales" console-project

// my-projekt.cpp

#include "enginepath/myengine-sample-class.h"

//entweder so:

#pragma comment(lib, "engine-path/myengine.lib")
//oder per projekt-optionen


int main(){
   c_sample_class a;

   return 0;
}

Anonymous

unregistriert

25

23.06.2005, 16:35

ops ich hab mich verschrieben. ich meine natürlich schon .h :)
Und des was du geschrieben hast, genau soch hab ich des gemacht.
Ich hab a propos die Visula C++ Autorenversion.

26

23.06.2005, 18:50

schick mal den code pls. carpe_noctem_@gmx.net

Anonymous

unregistriert

27

23.06.2005, 18:57

Welchen?

28

23.06.2005, 19:04

ach schick einfach mal beides wenns dir nix ausmacht.

Anonymous

unregistriert

29

23.06.2005, 19:41

is weg

30

23.06.2005, 20:27

also erstmal: dein code sieht nicht so aus als hättest du keine ahnung von den dingen die du da tust.
daher wunderts mich das du daran scheiterst, zwischen class und classe-name TWOBASE_API zu schreiben ^^

C-/C++-Quelltext

1
2
3
class CDirect3D
{
   public:

=

C-/C++-Quelltext

1
2
3
class TWOBASE_API CDirect3D
{
   public:

hätte dir aber bei meinem bsp oben aufallen können :P

btw bei mir compilierts gar nicht. kriege nur eine nicht geringe anzahl an fehlern. daher kann ich dir nicht sagen obs mit der modifikation oben dann auch wirklich geht !

und kleiner tipp zum verschicken von vc++-projekten: dateien wie .pch und sonstige mehrere mb-große temp-files vom compiler löschen. dann is demnächst auch noch platz für die dll ;)

gruß 23h

Werbeanzeige