Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

jak zainicjować bibliotekę bass.dll w c++ 6 builder

aralbert651 23 Cze 2011 16:11 2608 6
  • #1 23 Cze 2011 16:11
    aralbert651
    Poziom 2  

    Witam !

    Chcę napisać program w c++ 6 builder który będzie zaświecał diody pod portem com do muzyki i mam taki problem z biblioteką bass że podczas kompilacji wyskakuje mi taki błąd :

    [Linker Error] Unresolved external 'BASS_Init' referenced from C:\DOCUMENTS AND SETTINGS\ALBERT\PULPIT\PROGRAMIK\UNIT1.OBJ

    Używam wersji biblioteki bass 2.3.0.1.
    Szukałem na internecie o tym błędzie i nie znalazłem rozwiązania tego problemu. Poniżej umieszczam kod który ma zainicjować bibliotekę.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0 6
  • #2 23 Cze 2011 20:43
    Dżyszla
    Poziom 42  

    Upewnij się, że pliki z biblioteki są widoczne dla kompilatora (jeśli masz źródła, to będą to cpp, a jeśli tylko skompilowane wersje - to chyba obj).
    Ewentualną lokalizację możesz wskazać w ustawieniach projektu - katalogach przeszukiwanych.

    Abstrahując od problemu - masz jakieś urządzenie, które będzie przetwarzać transmisję szeregową? Bo zdajesz sobie sprawę, że w przypadku COM masz ograniczone możliwości do sterowania bezpośredniego?

    0
  • #3 23 Cze 2011 20:57
    MasMas
    Poziom 16  

    Generalnie bibliotekę BASS - czyli plik bass.dll - powinieneś umieścić albo w "System32", albo koło pliku "*.exe" Twojego programu.
    Jeżeli bass.dll jest gdzie indziej to tam był chyba taki plik (ja używałem pod Delphi), w którym trzeba było zmienić ścieżkę dostępu do bilbioteki. W C++ to może będzie jakiś plik z nagłówkami typu *.h , ale nie wiem.

    Ja bym Ci polecał zainteresować się portem LPT komputera. Jeśli to nie music być na COM, to LPT jest do tego idealny.
    Banalne sterowanie, wystarczy biblioteka o nazwie inpout32.dll , która daje ci funkcje Out32 i Inp32 - wypisz i odczytaj z portu LPT. Pod port podpinasz przez rezysotry diody i gotowe. COM jest szeregowy a LPT równoległy - będzie prościej.

    0
  • #4 24 Cze 2011 07:20
    winuser2
    Poziom 17  

    Na 95 % powinieneś dolinkować plik .LIB do swojego projektu, w zależności czego używasz jakiego IDE czy też wogóle nie używasz go, to wtedy trzeba skonstruować makefile.

    No chyba, że linkujesz cały projekt BASS do swojego projektu z wszystkimi plikami źródłowymi, w takim wypadku wygląda na to, że nie dołączyłeś odpowiednich plików źródłowych (nie mam tutaj na myśli wyłącznie .h) do projektu.

    0
  • #5 24 Cze 2011 07:34
    aralbert651
    Poziom 2  

    Diody RGB mają być podłączone przez przkaźniki pod linie DTR , RTS , TxD, a zasilane są z 12v i steruję nimi ustawiając stan wysoki albo niski na liniach..

    Co do pliku .lib to go dodałem, plik .dll skopiowałem do katalogu system32, a plik .h do katalogu borland->include. Jak mam samą bibliotekę dodaną to nie wyskakuje żaden błąd tylko podczas wywoływania funkcji z tej biblioteki. Przedtem jak nie był dodany to wyskakiwał mi ten sam błąd.

    0
  • #6 24 Cze 2011 07:35
    winuser2
    Poziom 17  

    W jaki sposób ją dodałeś ?

    0
  • #7 24 Cze 2011 08:06
    aralbert651
    Poziom 2  

    Znalazłem gdzieś na internecie :

    Project->Edit Opcion Source i tam dodałem ten plik .lib :

    <SPARELIBS value="vcl.lib rtl.lib bass.lib"/>

    0