Lib's und DLL's
-
Dann braucht der/die Entwickler, die mit meiner Dll arbeiten die ganzen verwendeten Libs auch. Und genau das will ich nicht! Die Libs sollen alle irgendwie in die Dll hingebracht werden.
Du brauchst kein DirectX SDK dazu, weil du fmod ja nicht kompilierst.
Genau... wenn ich jetzt aber z.B.: DirectX für Input verwenden will, dann muss ich ja #pragma comment(lib, "dinput.lib") ins Testprogramm/fertige Anwendung und schon muss ich meiner Dll alle libs mitliefern.
Also so kann es doch nicht gehen, oder?
-
Dann braucht der/die Entwickler, die mit meiner Dll arbeiten die ganzen verwendeten Libs auch. Und genau das will ich nicht!
Läßt sich aber nicht verhindern. :p
Außer du hast den Code der fmod dll.
-
Dann schließe ich daraus, dass das Fmod-Team den Source der DirectX Soundroutinen hat.
Irgendwas stimmt da doch nicht...
-
tschuldigung, dann hab ich wohl unrecht.
-
Wer weiß, vielleicht habe ich auch unrecht und will einfach mein Problem lösen.
-
Die einzige Möglichkeit, die ich sehe ist, die DLLs als Resource einzubinden.
-
Von Anfang an:
Du hast eine DLL geschrieben welche Funktionen aus anderen DLL`s braucht.Dann musst du die Libs der DLL mit linken.
Nun wird die Lib in einem Programm gebraucht.
Da brauchst du die anderen lib nicht mehr. Lediglich dann zur Ausführung werden die DLL`s benötigt.
Ein pragma comment(
ist der falsche weg außer man definiert noch einige defines da man ja im Normalfall die gleiche header für den Import und Export verwenden will.Wenn das bei dir nicht funktioniert dann machst du etwas anderes falsch.
Wers nicht glaubt:
Siehe meine HP.
Dort gibt es auch eine DLL welche jedoch wieder die MYSQL-DLL einbindet. und da brauchst du die Lib auch nicht.
-
ich denk mal, das problem was er hat, ist nen klein wenig anders
Er hat die DLL, die Lib's sind dazu gelinkt, in seinem Programm aber included er die header von den LIB's und ruft die funktionen in den Libs auf ???
Das funktioniert, glaub ich, auch nach nem LoadLibary nichtAlso, du musst, wenn du die FUnktionen in den statischen Libs ueber ne DLL einbinden willst, die Funktionen durch die DLL "durchschleifen" ....
Sprich, deine Lib hat ne Funktion int "PlaySound()", dann schreib fuer deine DLL eine Funktion "int PlaySoundA(){return PlaySound();};" und verwende die Funktion PlaySoundA() in deinem executiableCiao ...
-
Ich lade heute noch mal meine Testdll inc. Testprgamm,.. hoch...
-
Hier: http://www.visual-page.de/SoundDll.zip
Also ich hab da mal schnell was zusammengebastelt...
Christian