DGT Schachbert Low Level Treiber



  • Hallo,

    ich habe ein DGT EBoard und möchte in einem eigenen Programm auf dieses zugreifen. Das Bord gibt einem die Position der Schachfiguren auf dem Spielfeld aus. Und sendet Events, wenn Figuren bewegt werden.

    Dafür stellt DGT eine DLL und weitere Dateien zur Verfügung:

    http://digitalgametechnology.com/site/index.php/Developers/View-category.html

    Im dem Low Level Treiber ist eine Visual C++ Projetdatei enthalten.
    Zum Start wollte ich diese einmal selbst kompilieren, stoße aber dabei schon auf Probleme.

    Ich verwende als IDE Microsoft Visual C++ Express 2010.

    In der Readme habe ich herausgefunden das ich diese beiden Bibliotheken brauche um das Projekt zu kompilieren.

    The following libraries are necessary to compile the
    driver and the demoapp:
    Boost libraries (used version 1.45) for dgteblld.
    wxWidgets libraries (used version 2.9.1) for demoapp.

    Boost und wx habe ich in den Include-Ordner des Projektes entpackt.

    Danach reduzierten sich die Probleme beim Erstellen des Projekts, aber leider sind immer noch welche geblieben. Und ich hoffe ihr könnt mir weiter helfen.

    Deswegen poste ich hier einfach mal die Ausgabe:

    1>------ Neues Erstellen gestartet: Projekt: dgteblld, Konfiguration: Debug Win32 ------
    1> dllmain.cpp
    1> dgtsingleboardobserver.cpp
    1> dgtmsgversion.cpp
    1> dgtmsgtrademark.cpp
    1> dgtmsgserialnumber.cpp
    1> dgtmsglongserialnumber.cpp
    1> dgtmsgfieldupdate.cpp
    1> dgtmsgerror.cpp
    1> dgtmsgeemoves.cpp
    1> dgtmsgbwtime.cpp
    1> dgtmsgbusaddress.cpp
    1> dgtmsgboarddump.cpp
    1> dgtmsgbatterystatus.cpp
    1> dgtmsgacktime.cpp
    1> dgteblowdll.cpp
    1> Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:
    1> - add -D_WIN32_WINNT=0x0501 to the compiler command line; or
    1> - add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.
    1> Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).
    1>c:\users\markus\documents\visual studio 2010\projects\dgt-bord\dgteblld\include\dgtserial.h(347): warning C4309: 'Argument': Verkürzung eines konstanten Wertes
    1>c:\users\markus\documents\visual studio 2010\projects\dgt-bord\dgteblld\include\boost\thread\win32\thread_data.hpp(171): warning C4244: 'Argument': Konvertierung von '__int64' in 'long', möglicher Datenverlust
    1> c:\users\markus\documents\visual studio 2010\projects\dgt-bord\dgteblld\include\dgtsingleboard.h(341): Siehe Verweis auf die Instanziierung der gerade kompilierten Funktions-template "void boost::this_thread::sleep<boost::date_time::subsecond_duration<base_duration,frac_of_second>>(const TimeDuration &)".
    1> with
    1> [
    1> base_duration=boost::posix_time::time_duration,
    1> frac_of_second=0x03e8,
    1> TimeDuration=boost::date_time::subsecond_durationboost::posix\_time::time\_duration,0x03e8
    1> ]
    1> Code wird generiert...
    1>LINK : fatal error LNK1104: Datei "libboost_thread-vc100-mt-gd-1_45.lib" kann nicht geöffnet werden.
    2>------ Neues Erstellen gestartet: Projekt: demoapp, Konfiguration: Debug Win32 ------
    2> about.cpp
    2>about.cpp(14): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "wx/wxprec.h": No such file or directory
    2> demoappapp.cpp
    2>demoappapp.cpp(17): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "wx/wxprec.h": No such file or directory
    2> help.cpp
    2>help.cpp(14): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "wx/wxprec.h": No such file or directory
    2> lowleveldriverdemo.cpp
    2>lowleveldriverdemo.cpp(16): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "wx/wxprec.h": No such file or directory
    2> Code wird generiert...
    ========== Alles neu erstellen: 0 erfolgreich, Fehler bei 2, 0 übersprungen ==========

    Ich hoffe jemand kann mir sagen, wo ich jetzt ansetzten, muss.

    Vielleicht liegt es auch daran, dass ich die Bibliotheken noch ganz anders einbinden muss. Wenn jemand Erfahrung könnte, er mir bitte sagen, wie es richtig geht.



  • Du musst die Boost.Thread bauen (Fehler #1), und wxWidgets installieren (Fehler #2).



  • Danke, für die Denkanstöße. Habe schon zu lange ins lehre gebastelt.

    Aber neue Fehler:

    1>------ Neues Erstellen gestartet: Projekt: dgteblld, Konfiguration: Debug Win32 ------
    1> dllmain.cpp
    1> dgtsingleboardobserver.cpp
    1> dgtmsgversion.cpp
    1> dgtmsgtrademark.cpp
    1> dgtmsgserialnumber.cpp
    1> dgtmsglongserialnumber.cpp
    1> dgtmsgfieldupdate.cpp
    1> dgtmsgerror.cpp
    1> dgtmsgeemoves.cpp
    1> dgtmsgbwtime.cpp
    1> dgtmsgbusaddress.cpp
    1> dgtmsgboarddump.cpp
    1> dgtmsgbatterystatus.cpp
    1> dgtmsgacktime.cpp
    1> dgteblowdll.cpp
    1> Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:
    1> - add -D_WIN32_WINNT=0x0501 to the compiler command line; or
    1> - add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.
    1> Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).
    1>c:\development\dgtebdll200\dgteblld\include\dgtserial.h(347): warning C4309: 'Argument': Verkürzung eines konstanten Wertes
    1>c:\development\dgtebdll200\dgteblld\include\boost\thread\win32\thread_data.hpp(171): warning C4244: 'Argument': Konvertierung von '__int64' in 'long', möglicher Datenverlust
    1> c:\development\dgtebdll200\dgteblld\include\dgtsingleboard.h(341): Siehe Verweis auf die Instanziierung der gerade kompilierten Funktions-template "void boost::this_thread::sleep<boost::date_time::subsecond_duration<base_duration,frac_of_second>>(const TimeDuration &)".
    1> with
    1> [
    1> base_duration=boost::posix_time::time_duration,
    1> frac_of_second=0x03e8,
    1> TimeDuration=boost::date_time::subsecond_durationboost::posix\_time::time\_duration,0x03e8
    1> ]
    1> Code wird generiert...
    1>LINK : fatal error LNK1104: Datei "libboost_thread-vc100-mt-gd-1_45.lib" kann nicht geöffnet werden.
    2>------ Neues Erstellen gestartet: Projekt: demoapp, Konfiguration: Debug Win32 ------
    2> about.cpp
    2>C:\wxWidgets-2.9.1\include\msvc\wx/setup.h(91): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "../../../lib/vc_lib/mswud/wx/setup.h": No such file or directory
    2> demoappapp.cpp
    2>C:\wxWidgets-2.9.1\include\msvc\wx/setup.h(91): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "../../../lib/vc_lib/mswud/wx/setup.h": No such file or directory
    2> help.cpp
    2>C:\wxWidgets-2.9.1\include\msvc\wx/setup.h(91): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "../../../lib/vc_lib/mswud/wx/setup.h": No such file or directory
    2> lowleveldriverdemo.cpp
    2>C:\wxWidgets-2.9.1\include\msvc\wx/setup.h(91): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "../../../lib/vc_lib/mswud/wx/setup.h": No such file or directory
    2> Code wird generiert...
    ========== Alles neu erstellen: 0 erfolgreich, Fehler bei 2, 0 übersprungen ==========

    ➡ Fehler #1
    Habe Boost im Ordner "boost_1_45_0".
    Danach bootstrap.bat gestartet.
    Und als letztes den Befehl "bjam" in der CMD ausgeführt.
    Und als letztes den Boost-Ordner als Zusätzliches Includeverzeichnis eingestellt.(für Bibliotheken)

    1>LINK : fatal error LNK1104: Datei "libboost_thread-vc100-mt-gd-1_45.lib" kann nicht geöffnet werden.

    Eine Datei mit diesem Namen ist im Boost-Ordner enthalten.

    Leider bindet er die Bibliothek trotzdem nicht ein 😕

    ➡ Fehler #2

    Habe wxWidgets in den Ordner wxWidgets installiert und dann unter Zusätzliches Includeverzeichnis eingestellt.

    Damit hat sich die Fehlermeldung verändert. Die Datei "lib/vc_lib/mswud/wx/setup.h" existiert aber an dem Ort nicht.


Anmelden zum Antworten