mieszanie bibliotek

0

Witam serdecznie, mam do napisania program którego jenym z celów jest obsługa framegrabber-a microEnable III firmy silicon labs. Urządzenie to służy do przechwytywania obrazu z kamery i przekazywania go do komputetra, czyli jest jakby interface-m sprzętowym mojej kamery. Firma silicon labs dostarczyła wraz z urządzeniem 3 biblioteki c++ z rozszeżeniem .cpp zawierające funkcje i procedury do jego obsługi. I tu pojawia się mój problem. Cały program piszę pod VS 2005 w c#. Zastanawiam się czy istnieje jakakolwiek możliwość wykorzystania tych bibliotek w moim projekcie?

Z góry dziękuję za wszelkie wskazówki. Pozdrawiam, pyrek

0
  1. Biblioteki nie maja rozszerzenia cpp.
  2. Tak, skompilowac i uzyc jak normalnej natywnej dllki.
0

przepraszam za błędy techniczne, ale naprawde wiem o co chodzi, mimo iż moge mieć braki w fachowym słownictwie. Prosze napisz jak je skompilować. Czy normalnie utworzyć nowy projek windows application, wkleic kod i skompilować? Czy moze istnieje jakiś inny sposób.
PS.
Dzięki wielkie za błyskawiczną odpowiedź.

0

Jak rozumiem dostales kod (pliki cpp). Przy dobrych wiatrach jak utworzysz projekt dllki (library) i tam wrzucisz, skompilujesz to sie uda. To jest bardzo optymistyczny wariant.
Wariant standardowy jest taki, ze kod nie bedzie zgodny w pelni z tym czego oczekuje Twoj kompilator, a oprocz tego potrzebne beda jakies ustawienia projektowe typu ustawienia linkera dotyczace importowanych bibliotek, definicje dla preprocesora i jakies kruczki, bez ktorych projekt sie nie skompiluje. Do tego dochodzi zdefiniowanie eksportowanych funkcji, choc byc moze stosowny plik w zalaczonym kodzie jest.
Wariant pesymistyczny jest taki, ze dostales za malo plikow i cudu nie bedzie.

Oprocz tego musisz pamietac, ze jak stworzysz juz projekt C++, nie C#, to powinienes pewnie kompilowac to jako natywna dllke, bez wsparcia dla CLR.

Jak juz skompilujesz i dostaniesz plik/pliki dll, to w C# mozesz z nich skorzystac za pomoca P/Invoke.

1 użytkowników online, w tym zalogowanych: 0, gości: 1