-
1. Data: 2010-01-13 17:00:37
Temat: [.NET] Wykorzystanie pliku *.lib w C# 2008
Od: "GrzybSon" <m...@k...pl>
Witam,
mam taki problem skompilowałem sobie opensourcową bibliotekę pod VS .NET
2003 C++
do postaci pliku *.lib. Chciałbym teraz część funkcjonalności z tego pliku
wykorzystać w
projekcie C# w VS .NET 2008.
Da to radę?
Jak to zrobić?
--
Pozdro,
Maćko
-
2. Data: 2010-01-13 17:30:15
Temat: Re: [.NET] Wykorzystanie pliku *.lib w C# 2008
Od: Marcin Kral <k...@p...na-onecie.pl>
W dniu 2010-01-13 18:00, GrzybSon pisze:
> mam taki problem skompilowałem sobie opensourcową bibliotekę pod VS .NET
> 2003 C++
> do postaci pliku *.lib. Chciałbym teraz część funkcjonalności z tego pliku
> wykorzystać w
> projekcie C# w VS .NET 2008.
>
> Da to radę?
> Jak to zrobić?
AFAIK lib-a bezposrednio w C# nie da rady - skompiluj jako DLL, albo
zrob wrapper na tego lib-a i uzyj p/Invoke. Wiecej tutaj:
http://msdn.microsoft.com/en-us/library/aa288468%28V
S.71%29.aspx
--
Pozdrawiam
Marcin Kral
-
3. Data: 2010-01-13 18:09:36
Temat: Re: [.NET] Wykorzystanie pliku *.lib w C# 2008
Od: "GrzybSon" <m...@k...pl>
Użytkownik "Marcin Kral" <k...@p...na-onecie.pl> napisał w wiadomości
news:hikvv6$lec$1@inews.gazeta.pl...
>W dniu 2010-01-13 18:00, GrzybSon pisze:
>
>> mam taki problem skompilowałem sobie opensourcową bibliotekę pod VS .NET
>> 2003 C++
>> do postaci pliku *.lib. Chciałbym teraz część funkcjonalności z tego
>> pliku
>> wykorzystać w
>> projekcie C# w VS .NET 2008.
>>
>> Da to radę?
>> Jak to zrobić?
>
> AFAIK lib-a bezposrednio w C# nie da rady - skompiluj jako DLL, albo zrob
> wrapper na tego lib-a i uzyj p/Invoke. Wiecej tutaj:
> http://msdn.microsoft.com/en-us/library/aa288468%28V
S.71%29.aspx
Czyli mam dwie drogi - jakiś wybór jest:
1. kompilacja jako DLL
- gdzie się tą opcję ustawia: gdzieś w projekcie, że chcę DLLa a nie liba
pod VS .NET 2003 (projekt w C++)?
2. wrapper na liba:
pod C# oczywiście znam p/Invoke np. dla wywołań WinApi,
ale nie wiem jak zrobić tego wrappera pod C++?
Mam w tym libie oprócz procedur także klasy z metodami.
Jak wyglądałoby wystawienie np. jakiejś klasy z liba wraz z jej metodami?
>
> --
> Pozdrawiam
> Marcin Kral
-
4. Data: 2010-01-13 18:41:46
Temat: Re: [.NET] Wykorzystanie pliku *.lib w C# 2008
Od: Marcin Kral <k...@p...na-onecie.pl>
W dniu 2010-01-13 19:09, GrzybSon pisze:
>
> Czyli mam dwie drogi - jakiś wybór jest:
> 1. kompilacja jako DLL
> - gdzie się tą opcję ustawia: gdzieś w projekcie, że chcę DLLa a nie liba
> pod VS .NET 2003 (projekt w C++)?
W tej opcji takze musisz uzyc p/Invoke. Interesujace Cie ustawienie
znajdziesz w wlasciwosciach projektu, Project Defaults->Configuration
Type. Tak jest w VS2008 - nie wiem jak w 2003.
> 2. wrapper na liba:
> pod C# oczywiście znam p/Invoke np. dla wywołań WinApi,
> ale nie wiem jak zrobić tego wrappera pod C++?
> Mam w tym libie oprócz procedur także klasy z metodami.
> Jak wyglądałoby wystawienie np. jakiejś klasy z liba wraz z jej metodami?
Piszac "wrapper" mialem na mysli biblioteke C++ (dll), ktora zrobi
odpowiednie eksporty, by moc uzyc jej przez p/Invoke. W przypadku metod
klas zaczna sie schody - manglowane nazwy, destruktory, parametry(this).
Sugeruje zrobic interface w C.
PS. Byc moze da sie to ladnie pozenic w C++/CLI.
--
Pozdrawiam
Marcin Kral
-
5. Data: 2010-01-14 14:59:46
Temat: Re: [.NET] Wykorzystanie pliku *.lib w C# 2008
Od: "Wiktor S." <wswiktor&poczta,fm@no.spam>
> mam taki problem skompilowałem sobie opensourcową bibliotekę pod VS
> .NET 2003 C++
Może da się ją przerobić tak, by skompilowała się jako C++/CLI?
--
Azarien
-
6. Data: 2010-01-15 07:15:42
Temat: Re: [.NET] Wykorzystanie pliku *.lib w C# 2008
Od: "GrzybSon" <m...@k...pl>
W bibliotece nie chcę grzebać bo się nie znam na C++.
Słyszałem, że możnaby ją przekompilować jako DLL poprzez ustawienie jakichś
opcji kompilacji w środowisku.
Pytanie tylko czy wtedy będę mógł takiego DLL użyć swobodnie w VS 2008 -
swobodnie tzn. bez żadnych p/invokeów
itp?
--
Pozdro,
Maćko
Użytkownik "Wiktor S." <wswiktor&poczta,fm@no.spam> napisał w wiadomości
news:hinbh4$ppv$1@news.onet.pl...
>> mam taki problem skompilowałem sobie opensourcową bibliotekę pod VS
>> .NET 2003 C++
>
> Może da się ją przerobić tak, by skompilowała się jako C++/CLI?
>
>
> --
> Azarien
>
-
7. Data: 2010-01-15 18:29:47
Temat: Re: [.NET] Wykorzystanie pliku *.lib w C# 2008
Od: "Wiktor S." <wswiktor&poczta,fm@no.spam>
GrzybSon wrote:
> W bibliotece nie chcę grzebać bo się nie znam na C++.
> Słyszałem, że możnaby ją przekompilować jako DLL poprzez ustawienie
> jakichś opcji kompilacji w środowisku.
Ale bez grzebania w bibliotece wątpię żeby się udało.
> Pytanie tylko czy wtedy będę mógł takiego DLL użyć swobodnie w VS
> 2008 - swobodnie tzn. bez żadnych p/invokeów itp?
poczytaj o DLLImport w C#.
--
Azarien