Compillieren in C++ schlägt fehl (Linux Programm auf Windows)

Gast #2071411
Lesenswert?

Hallo Leute,

erstmal sorry für den schlechten Titel, ich wusste nicht was da sonst 
hinschreiben sollte :-D

Also ich würde Gerne ein Programm das unter Linux geschrieben worden 
ist, unter Windows Compilieren und natürlich auch benutzen ;-)

Link zu der Seite:
http://bkilian.w.interia.pl/modelarstwo/koder_ATmega/index.html

Die software des ATMEGA´s ist kein Problem.
Es geht um die Software für den PC.

Hier die Sourcen:
http://bkilian.w.interia.pl/modelarstwo/koder_ATmega/XKilianCom.tar.gz

Was geht da schief?

Ich bekomme mit C++ Builder XE volgende Ausgabe:

Abhängigkeiten des Projekts werden überprüft...
Compilieren von Project1.cbproj (Debug, Win32)
bcc32 Befehlszeile für "Project1.cpp"
  c:\program files (x86)\embarcadero\rad studio\8.0\bin\bcc32.exe 
-D_DEBUG -D_RTLDLL;USEPACKAGES -n.\Debug\Win32 -I"c:\program files
  (x86)\embarcadero\rad studio\8.0\include\windows\crtl\DE";"c:\program 
files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\DE";
  ..\..\..\Desktop\XKilianCom;"c:\program files (x86)\embarcadero\rad 
studio\8.0\include";"c:\program files (x86)\embarcadero\rad
  studio\8.0\include\windows\crtl";"c:\program files 
(x86)\embarcadero\rad studio\8.0\include\dinkumware";"c:\program files 
(x86)\embarcadero\rad
  studio\8.0\include\windows\sdk";"c:\program files 
(x86)\embarcadero\rad studio\8.0\include\windows\rtl";"c:\program files 
(x86)\embarcadero\rad
  studio\8.0\include\windows\vcl" -y -Q -k -r- -c -tD -tM -C8 
-o.\Debug\Win32\Project1.obj -w-par -Od -v -vi- 
-H=.\Debug\Win32\Project1.pch -H
  Project1.cpp
bcc32 Befehlszeile für "..\..\..\Desktop\XKilianCom\cencoder.cpp"
  c:\program files (x86)\embarcadero\rad studio\8.0\bin\bcc32.exe 
-D_DEBUG -D_RTLDLL;USEPACKAGES -n.\Debug\Win32 -I"c:\program files
  (x86)\embarcadero\rad studio\8.0\include\windows\crtl\DE";"c:\program 
files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\DE";
  ..\..\..\Desktop\XKilianCom;"c:\program files (x86)\embarcadero\rad 
studio\8.0\include";"c:\program files (x86)\embarcadero\rad
  studio\8.0\include\windows\crtl";"c:\program files 
(x86)\embarcadero\rad studio\8.0\include\dinkumware";"c:\program files 
(x86)\embarcadero\rad
  studio\8.0\include\windows\sdk";"c:\program files 
(x86)\embarcadero\rad studio\8.0\include\windows\rtl";"c:\program files 
(x86)\embarcadero\rad
  studio\8.0\include\windows\vcl" -y -Q -k -r- -c -tD -tM -C8 
-o.\Debug\Win32\cencoder.obj -w-par -Od -v -vi- 
-H=.\Debug\Win32\Project1.pch -H
  ..\..\..\Desktop\XKilianCom\cencoder.cpp
[BCC32 Fehler] cencoder.cpp(2): E2209 include-Datei 'unistd.h' kann 
nicht geöffnet werden
[BCC32 Fehler] cport.hpp(3): E2209 include-Datei 'termios.h' kann nicht 
geöffnet werden
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
[BCC32 Fehler] cport.hpp(78): E2293 ) erwartet
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
[BCC32 Fehler] cport.hpp(136): E2293 ) erwartet
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
[BCC32 Fehler] cport.hpp(138): E2293 ) erwartet
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
[BCC32 Fehler] cport.hpp(140): E2293 ) erwartet
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
[BCC32 Fehler] cport.hpp(155): E2303 Typname erwartet
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
[BCC32 Fehler] cport.hpp(169): E2450 Undefinierte Struktur 'termios'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
[BCC32 Fehler] cport.hpp(169): E2449 Größe von 't' unbekannt oder Null
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
[BCC32 Fehler] cport.hpp(26): E2450 Undefinierte Struktur 'termios'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cport.hpp(26): E2449 Größe von 't_tmp' unbekannt oder 
Null
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cport.hpp(32): E2268 Aufruf der undefinierten Funktion 
'scandir'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cport.hpp(45): E2268 Aufruf der undefinierten Funktion 
'major'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cport.hpp(46): E2268 Aufruf der undefinierten Funktion 
'minor'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cport.hpp(51): E2268 Aufruf der undefinierten Funktion 
'open'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cport.hpp(55): E2268 Aufruf der undefinierten Funktion 
'tcgetattr'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cport.hpp(66): E2268 Aufruf der undefinierten Funktion 
'close'
  Vollständiger Parser-Kontext
    cencoder.cpp(6): #include ..\..\..\Desktop\XKilianCom\cport.hpp
    cport.hpp(18): class cPort
    cport.hpp(172): Entscheidung zum Instantiieren: int 
cPort::getPorts(char  )
    --- Zurücksetzen des Parser-Kontexts für die Instantiierung...
    cport.hpp(24): Analyse: int cPort::getPorts(char  )
[BCC32 Fehler] cencoder.cpp(14): E2316 'openPort' ist kein Member von 
'cPort'
  Vollständiger Parser-Kontext
    cencoder.cpp(12): Analyse:  cEncoder::cEncoder(const char *,const 
unsigned long)
[BCC32 Fehler] cencoder.cpp(14): E2451 Undefiniertes Symbol 
'intToSpeed_T'
  Vollständiger Parser-Kontext
    cencoder.cpp(12): Analyse:  cEncoder::cEncoder(const char *,const 
unsigned long)
[BCC32 Fehler] cencoder.cpp(36): E2316 'openPort' ist kein Member von 
'cPort'
  Vollständiger Parser-Kontext
    cencoder.cpp(34): Analyse: void cEncoder::reset(const char *,const 
unsigned long)
[BCC32 Fehler] cencoder.cpp(36): E2451 Undefiniertes Symbol 
'intToSpeed_T'
  Vollständiger Parser-Kontext
    cencoder.cpp(34): Analyse: void cEncoder::reset(const char *,const 
unsigned long)
[BCC32 Fehler] cencoder.cpp(50): E2268 Aufruf der undefinierten Funktion 
'usleep'
  Vollständiger Parser-Kontext
    cencoder.cpp(44): Analyse: int cEncoder::getVersion(char *)
[BCC32 Fehler] cencoder.cpp(61): E2268 Aufruf der undefinierten Funktion 
'usleep'
  Vollständiger Parser-Kontext
    cencoder.cpp(44): Analyse: int cEncoder::getVersion(char *)
[BCC32 Fehler] cencoder.cpp(73): E2268 Aufruf der undefinierten Funktion 
'usleep'
  Vollständiger Parser-Kontext
    cencoder.cpp(67): Analyse: unsigned short cEncoder::getVoltage()
[BCC32 Fehler] cencoder.cpp(81): E2268 Aufruf der undefinierten Funktion 
'usleep'
  Vollständiger Parser-Kontext
    cencoder.cpp(67): Analyse: unsigned short cEncoder::getVoltage()
Misslungen
Verstrichene Zeit: 00:00:05.4
Gast #2071413
Lesenswert?

> Was geht da schief?

..steht (etwas versteckt..) in der Ausgabe:
1
[BCC32 Fehler] cencoder.cpp(2): E2209 include-Datei 'unistd.h' kann
2
nicht geöffnet werden
3
[BCC32 Fehler] cport.hpp(3): E2209 include-Datei 'termios.h' kann nicht
4
geöffnet werden

HTH
Gast #2071422
Lesenswert?

1
[BCC32 Fehler] cencoder.cpp(2): E2209 include-Datei 'unistd.h' kann
2
nicht geöffnet werden
3
[BCC32 Fehler] cport.hpp(3): E2209 include-Datei 'termios.h' kann nicht
4
geöffnet werden
Die Pfade zu den Dateien scheinen nicht zu passen. Das sind Header die 
ich von Linux kennen, dürfte also wichtig sein.
Bei cencoder.cpp läuft auch einiges schief, ich bin kein C++-ler, aber 
da solltest du mal nachschauen. Wobei das auch mit den fehlenden Headern 
oben zusammenhängen kann, normalerweise löst man bei Kompilier-Fehlern 
die Fehler von oben nach unten, da man sonst nur an Folge-Fehlern 
rumhantiert.
Gast #2071434
Lesenswert?

Oh, ich dachte du wolltest Cross-Compilieren, ob du die Software auf 
Windows zum Laufen bekommst, ist fraglich. Der Zugriff auf die serielle 
Schnittstelle läuft da (Windows) auch anders ab, also andere Funktionen, 
Header usw.
Was kann die Software denn so tolles, vielleicht gibt es da ja 
Alternativen? Bei meinem polnisch hakst gerade etwas, naja eigentlich 
hakt es da immer und nie nur etwas. ;-)
Gast #2071449
Lesenswert?

Die Software sendet Serielle Befehle an einen ATMEGA8 der gibt dan ein 
PPM Signla aus.
Um R/C Fernbedienungen zu "Simulieren".

Ich habs mit Google übersetzter gemacht :-P

Gibt es da keine Header datei die das unter Windows machen kann?
#2072633
Lesenswert?

g457 schrieb:
>
1
[BCC32 Fehler] cencoder.cpp(2): E2209 include-Datei 'unistd.h'
2
> kann
3
> nicht geöffnet werden
4
> [BCC32 Fehler] cport.hpp(3): E2209 include-Datei 'termios.h' kann nicht
5
> geöffnet werden

Also die unistd.h ist auf jeden Fall in MinGW enthalten. Die termios.h 
wird Dir allerdings unter Windows nicht viel Freunde machen, die ist nun 
mal UNIX- bzw. Linux-spezifisch. Unter Windows funktioniert der Zugriff 
auf /dev Dateien halt so schlecht ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren