Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » LIB einbinden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.09.2004, 17:02 Uhr
Uli



Grüße,

ich habe als vorlage um einige meiner Probleme lösen zu können ein CPP-Programm
Leider muß ich aber in C# mein eigene Programm erstellen. Nun komme ich mit dem Einbinden einer .LIB nicht ganz klar.

In CPP wurde es so gemacht.

C++:
#pragma comment (lib, "cvcimg.lib")
#pragma comment (lib, "cvcBlob.lib")



Wie mache ich das ganze jetzt in C#??

Danke Bye de Uli
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.09.2004, 19:24 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Erst mal vorbeugend: Ich hab mich mit dem Thema nicht allzu sehr beschäftigt, also alles ohne Gewähr Soweit ich das sehe, sind LIB-Dateien für den C++-Linker gedacht, und C# hat keine direkte Linker-Option, weil alles in einem Rutsch in die EXE geschrieben wird. Ob die Reflection API das Einbinden von LIBs überhaupt unterstützt, glaub ich nicht; C# ist .NET und .NET erlaubt Native Code, wie er in LIBs vorliegt, eigentlich nicht.
Wenn Du den Quelltext der LIB hast, kannst Du sie als .NET-C++-Datei in eine DLL compilieren (zur Not mit dem C++-Kommandozeilencompiler von .NET) und von C# aus ansprechen; wenn nicht, wirds kompliziert. Dann müßtest Du in reinem C++ einen COM-Wrapper um die Funktionen schreiben...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.

Dieser Post wurde am 13.09.2004 um 19:25 Uhr von Bruder Leif editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.09.2004, 20:45 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Ich hab glaube ich mal eine Funktion gesehen um Dlls bzw. Libs einzubinden. Allerdings spricht das ja vollkommen gegen das Prinzip von .NET da es sich ja nicht um managed Code handelt, also nicht besonders schön.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.09.2004, 08:45 Uhr
Uli



Grüße,

unter meiner annahme das in der LIB das selbe steht wie in der dll würde ich sagen das ich sie habe.

Dann bleibt nur stehen wie wir die dll einbinden sollen.

Bye de Uli
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.09.2004, 09:31 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

DAS geht natürlich. So z.B. rufst Du die MessageBox-Funktion aus user32.dll auf:


C++:
#using <mscorlib.dll>
using namespace System::Runtime::InteropServices; // for DllImportAttribute

namespace SysWin32
{
   [DllImport("user32.dll", EntryPoint = "MessageBox", CharSet = Unicode)]
   int MessageBox(void* hWnd, wchar_t* lpText, wchar_t* lpCaption, unsigned int uType);
}

int main( )
{
   SysWin32::MessageBox( 0, L"Hello world!", L"Greetings", 0 );
   return 0; // Böse MSDN! Hat das einfach vergessen ;-)
}


--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.09.2004, 08:06 Uhr
Uli



Grüße,

OK es hat geklapt. Jetzt kann ich die Funktionen verwenden.

Es gibt zwar Probleme mit den Datentypen aber das klärt sich nocht.

Bye de Uli
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: