Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Visual Studio 2008 C++ inkludowanie

mirekk36 04 May 2010 09:18 3154 8
  • #1
    mirekk36
    Level 42  
    Witam,

    Zaczynam dopiero z Visual Studio C++

    O ile w konsoli poszło mi już napisanie jakichś prostych programów to w wersji okienkowej mam problem z dołączaniem plików nagłówkowych.

    Otóż w konsolowej wersji napisałem sobie:

    #include <ftd2xx.h>

    potem jeszcze w opcjach linkera musiałem dodać plik *.lib

    i mogłem już korzystać z funkcji zawartych w pliku ftd2xx.dll

    Teraz chciałbym zrobić okienkową wersję tegoż programu, ale tutaj nie mam pojęcia gdzie zrobić takiego Includa ??? czy jak się do tego zabrać żeby wykorzystać funkcje z DLL'a

    Może ktoś pomóc? naprowadzić? ....
  • #2
    inot
    Level 26  
    Postępowanie jest podobne.
    Najpierw należy w opcjii linkera dodać "FTD2xx.LIB" .
    Następnie do twojego projektu trzeba dodać plik "FTD2XX.h" .

    #include "FTD2XX.H" dodać do tych części programu , w których to USB funkcje będą używane.
    Od tego momentu wszystkie funkcje są dostępne
  • #3
    mirekk36
    Level 42  
    inot --> no ale co to znaczy że jest podobne? bo podobnie to ja próbowałem robić dodając tego includa ale niestety wywala mi podczas kompilacji 156 błędów w inkludowanym pliku .... a gdy robię to w konsolowej aplikacji to nie mam żadnych błędów.

    Poza tym w jakim module mam dodać tego includa???? w Form1.h ? a jeśli tak to na samej górze? czy gdzie ?

    Nie wspomnę, że w opcjach linkera w miejscu gdzie w konsolewej aplikacji w pozycju "Additional Dependiences" było puste pole i tam dodałem ten *.lib to tu w okienkowym projekcie było coś w nawiasach okrągłych jakiś $coś tam - ale już nie pamiętam dokładnie bo skasowałem :(

    Na koniec pytanie - o co chodzi z tymi szablonami - może ktoś mi w 2 zdaniach wyjaśnić co to jest ?

    1. CLR
    2. MFC
    3. Windows32

    bo nie wiem w końcu co wybierać żeby tworzyć jakąś prostą aplikację konsolową czy okienkową tak na początek - już mętliku dostaję od tego.
  • Helpful post
    #4
    inot
    Level 26  
    Windows32 to praktycznie program DOS z takimi funkcjami jak "printf" albo "scanf".
    MFC natomiast wytwarza "Windows" programe.Tutaj można wybrać trzy różne zastosowania mianowicie "Dialog","SDI" albo "MDI".
    Jeżeli wybierzesz "Dialog" albo "SDI" to nawet gdy nie napiszesz ani kawałka programu to pomimo to otrzymasz gotową aplikację okienkową.

    W tym miejscu dodajemy "FTD2xx.LIB" (to jest niemiecka versja C++ ,ale chyba w angielskiej wygląda podobnie).
    Visual Studio 2008 C++ inkludowanie
  • #5
    several
    Level 15  
    Prawdopodobnie te 150 błędów to błędy załadowania funkcji prawda? Linker cały czas nie widzi biblioteki statycznej. Jeśli zrobiłeś projekt MFC kompilator może korzystać z jakiegoś innego folderu z libami i tam może nie być tej Twojej biblioteki.

    A tak offtopując, jeśli chcesz pisać GUI to są dużo lepsze opcje niż MFC. Qt, WXWidgets czy GTK+.
  • #6
    mirekk36
    Level 42  
    inot --> ok, już sobie z tym jakoś poradziłem

    several --> wcale nie offtopując, bardzo mnie interesuje w czym najlepiej i najprzyjemniej pisze się aplikacje okienkowe pod windows ??? Qt? kiedyś coś nawet widziałem - ale czy tam też jest coś w rodzaju formy jak w VC++ gdzie przeciąga się komponenty ? czy jakoś inaczej się z tym pracuje?
  • Helpful post
    #7
    utak3r
    Level 25  
    inot wrote:
    Windows32 to praktycznie program DOS z takimi funkcjami jak "printf" albo "scanf".


    yyy?


    Reasumując:
    - win32api (bo tak brzmi nazwa tej biblioteki) to podstawowa biblioteka funkcji, obecna w każdym windowsie (ba, nawet w WinCE).
    - MFC to próba stworzenia przez Microsoft biblioteki komponentów wyższego poziomu, teoretycznie mająca usprawnić pracę programiście. Nie polecam - zwłaszcza w tej chwili nie ma sensu się jej uczyć, wychodzi ona już z użytku.
    - CLR to takie "cuś" pomiędzy win32api a .Netem...


    Ogólnie - chodzi o to, jak szybko i łatwo będzie stworzyć gotową aplikację okienkową. Wspomnia\ne tutaj Qt - od wersji Qt4 faktycznie zaczęło być bardzo przyjemne. Co to jest? Ano właśnie zestaw funkcji, komponentów i elementów do tworzenia aplikacji. I tak, można sobie w nim "wyklikać" GUI i potem je uzbroić kodem. Wada? Do programu trzeba ładnych parę mega dllek dołączyć...

    Czego się uczyć? Win32API na pewno, a dalej? Albo Qt, albo uderzyć w C# i .NET. Tak, można z tego poziomu również dołączać zewnętrzne dllki :)
  • Helpful post
    #8
    several
    Level 15  
    mirekk36 wrote:
    ale czy tam też jest coś w rodzaju formy jak w VC++ gdzie przeciąga się komponenty ? czy jakoś inaczej się z tym pracuje?

    Razem z Qt dostajesz Qt Designer'a który jest banalny w obsłudze. Wybierasz sobie widget i go przeciągasz na formę. Można też pisać ręcznie co niejednokrotnie jest szybszym rozwiązaniem. Zresztą Qt teraz to nie tylko GUI, to cały framework z własnymi pojemnikami znanymi z STL, własnym interfejsem sieciowym, dźwiękowym i graficznym. Qt to potężny potwór którego łatwo ujarzmić, jest świetnie udokumentowany i pracuje się w nim tak, jakby się chciało pracować w czystym C++. Do tego łatwo się go podpina do Visual Studio, Eclipse i KDevelop. Ale zanim zaczniesz w nim pracować musisz umieć C++ w ujęciu obiektowym, ta biblioteka jest w całości obiektowa tak więc za wiele z dokumentacji nie zrozumiesz jeśli nie opanujesz obiektów.
    A MFC, no cóż, microsoft miało brzydką manierę robienie z C++ tego, do czego się nie nadaje (MFC, CLI).

    Moderated By krzychoocpp:

    Kłótnię i tekst ją prowokujący usunąłem.

  • #9
    mirekk36
    Level 42  
    utak3r wrote:

    ..., można z tego poziomu również dołączać zewnętrzne dllki :)


    A w jaki sposób? W C++ wystarczyło wkleić plik *.lib do opcji linkera a w C# ??? nie ma takiej opcji - więc jak do tego podejść ???