Auslieferung einer CLI C++ Dll
-
Du linkst vermutlich gegen irgendeine LIB, welche mit Debug erstellt wurde!
-
Die C++ .NET dll wird nur eingebunden. Einbinden tut sie selber nur den Standard .NET kram und Microsoft.VisualC.
-
Ich meinte *LIBs* welche in der C++/CLI-DLL dazugelinkt werden!!!! Da ist eine "falsche" dabei!
-
das komisch!
Ich habe eine große projekt mappe, in der unter anderem auch meine DLL ist. Wenn ich die DLL da als realease comiliere, benötigt sie die Debug DLL´s.
Wenn ich das Projekt aus dem Ordner kopiere, eigenstädnig öffne und Compiliere, benötigt sie die normales release DLL´s. Dabei wird die die Nur von anderebn Progarmmen eingebunden.
Woher kommt sowas? Denn es werden doch bestimmt immer die selben Libs hinzugelinkt.
-
Woher kommt sowas? Denn es werden doch bestimmt immer die selben Libs hinzugelinkt.
Eben: es muss nicht immer dieselbe sein, sondern einmal die release und einmal die debug *.lib.
-
also mit der richtigen release DLL scheint es zu funktionieren.
Leider habe ich kein einfluss darauf, welche LIB´s in meine DLL eingebunden werden. Desshalb werde ich die DLL wohl immer seperat compilieren müssen.
Mal ne andere Frage: Wie ist das eigentlich bei Vista 64? Bei Vista ist ja schon standard maßig .NET 3.5 drauf. Nun habe ich noch die C-Runtime Library für x64 installiert. Es funktioniert aber nicht. Er kann die DLL wieder nicht laden.
Jemand eine ahnung wie das unter x64 geht?
-
Du musst ein extra build für 64bit machen.
-
In diesem Mode wie die EXE gestartet wird, werden auch alle anderen DLLs gelesen.
Also wenn die EXE .NET mit "Any"-Target ist, dann wird diese als x64 gestartet und *alle* DLLs müssen auch für "x64" oder "Any" compiliert worden sein!Wenn die EXE speziell mit x86 oder x64 gestartet wird, dann müssen alle DLLs entsprechend auch für diese Platform kompiliert worden sein.
D.h. Ist die EXE x86, so musst Du *nicht* für x64 kompilieren.
-
Ich entschuldige mich für die falsche Information.
-
ah vielen dank, ihr beide habt mir sehr geholfen!