FlyingDoc Geschrieben June 12, 2012 at 08:07 Geschrieben June 12, 2012 at 08:07 Bin langsam am verzweifeln. Bekomme kein C++ Programm kompiliert. Habe es mal mit eurem Beispielprogramm project_uwet.zip versucht. Das kann ich kompilieren. Sobald ich die brick_imu.c und brick_imu.h mit ins Spiel bringe (Include reicht) fängt er an zu meckern. 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(65) : error C2081: 'bool': Name in der formalen Parameterliste ist ungültig 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(104) : error C2061: Syntaxfehler: Bezeichner 'bool' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(109) : error C2059: Syntaxfehler: '}' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(150) : error C2061: Syntaxfehler: Bezeichner 'bool' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(151) : error C2059: Syntaxfehler: '}' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(157) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(157) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(157) : error C2059: Syntaxfehler: 'Typ' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(157) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(158) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(158) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(158) : error C2373: 'enumerate_callback_func_t': Neudefinition; unterschiedliche Modifizierer 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(65): Siehe Deklaration von 'enumerate_callback_func_t' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(158) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cb' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(158) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(159) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(159) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(159) : error C2371: 'Device': Neudefinition; unterschiedliche Basistypen 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(93): Siehe Deklaration von 'Device' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(159) : error C2143: Syntaxfehler: Es fehlt ';' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(159) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(160) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(160) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(160) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(161) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(161) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(161) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(171) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(171) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(171) : error C2059: Syntaxfehler: 'Typ' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(171) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(172) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(172) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(172) : error C2059: Syntaxfehler: 'Typ' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(172) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(175) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(175) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(176) : error C2059: Syntaxfehler: 'Typ' 1>z:\software\visual studio 2008\projects\imutest\ip_connection.h(176) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.h(216) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.h(216) : error C2081: 'bool': Name in der formalen Parameterliste ist ungültig 1>z:\software\visual studio 2008\projects\imutest\brick_imu.h(216) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.h(216) : error C2059: Syntaxfehler: ')' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(200) : error C2061: Syntaxfehler: Bezeichner 'bool' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(201) : error C2059: Syntaxfehler: '}' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(479) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(481) : error C2275: 'GetAcceleration_': Ungültige Verwendung dieses Typs als Ausdruck 1> z:\software\visual studio 2008\projects\imutest\brick_imu.c(71): Siehe Deklaration von 'GetAcceleration_' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(481) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'ga' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(481) : error C2065: 'ga': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(482) : error C2065: 'ga': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(482) : error C2224: Der linke Teil von '.stack_id' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(483) : error C2065: 'ga': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(483) : error C2224: Der linke Teil von '.function_id' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(484) : error C2065: 'ga': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(484) : error C2224: Der linke Teil von '.length' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(486) : error C2065: 'ga': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(493) : error C2275: 'GetAccelerationReturn_': Ungültige Verwendung dieses Typs als Ausdruck 1> z:\software\visual studio 2008\projects\imutest\brick_imu.c(80): Siehe Deklaration von 'GetAccelerationReturn_' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(493) : error C2065: 'gar': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(494) : error C2065: 'gar': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(494) : error C2223: Der linke Teil von '->x' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(495) : error C2065: 'gar': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(495) : error C2223: Der linke Teil von '->y' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(496) : error C2065: 'gar': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(496) : error C2223: Der linke Teil von '->z' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(510) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(512) : error C2275: 'GetMagneticField_': Ungültige Verwendung dieses Typs als Ausdruck 1> z:\software\visual studio 2008\projects\imutest\brick_imu.c(86): Siehe Deklaration von 'GetMagneticField_' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(512) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'gmf' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(512) : error C2065: 'gmf': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(513) : error C2065: 'gmf': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(513) : error C2224: Der linke Teil von '.stack_id' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(514) : error C2065: 'gmf': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(514) : error C2224: Der linke Teil von '.function_id' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(515) : error C2065: 'gmf': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(515) : error C2224: Der linke Teil von '.length' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(517) : error C2065: 'gmf': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(524) : error C2275: 'GetMagneticFieldReturn_': Ungültige Verwendung dieses Typs als Ausdruck 1> z:\software\visual studio 2008\projects\imutest\brick_imu.c(95): Siehe Deklaration von 'GetMagneticFieldReturn_' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(524) : error C2065: 'gmfr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(525) : error C2065: 'gmfr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(525) : error C2223: Der linke Teil von '->x' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(526) : error C2065: 'gmfr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(526) : error C2223: Der linke Teil von '->y' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(527) : error C2065: 'gmfr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(527) : error C2223: Der linke Teil von '->z' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(541) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(543) : error C2275: 'GetAngularVelocity_': Ungültige Verwendung dieses Typs als Ausdruck 1> z:\software\visual studio 2008\projects\imutest\brick_imu.c(101): Siehe Deklaration von 'GetAngularVelocity_' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(543) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'gav' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(543) : error C2065: 'gav': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(544) : error C2065: 'gav': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(544) : error C2224: Der linke Teil von '.stack_id' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(545) : error C2065: 'gav': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(545) : error C2224: Der linke Teil von '.function_id' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(546) : error C2065: 'gav': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(546) : error C2224: Der linke Teil von '.length' muss eine Struktur/Union sein 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(548) : error C2065: 'gav': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(555) : error C2275: 'GetAngularVelocityReturn_': Ungültige Verwendung dieses Typs als Ausdruck 1> z:\software\visual studio 2008\projects\imutest\brick_imu.c(110): Siehe Deklaration von 'GetAngularVelocityReturn_' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(555) : error C2065: 'gavr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(556) : error C2065: 'gavr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(556) : error C2223: Der linke Teil von '->x' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(557) : error C2065: 'gavr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(557) : error C2223: Der linke Teil von '->y' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(558) : error C2065: 'gavr': nichtdeklarierter Bezeichner 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(558) : error C2223: Der linke Teil von '->z' muss auf eine Struktur/Union zeigen 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(572) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(572) : fatal error C1003: Mehr als 100 Fehler gefunden; Kompilierung wird abgebrochen. 1>Das Buildprotokoll wurde unter "file://\\programmvs\c$\Software\Visual Studio 2008\Projects\IMUTest\Debug\BuildLog.htm" gespeichert. 1>test - 102 Fehler, 1 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ========== Zitieren
photron Geschrieben June 12, 2012 at 08:31 Geschrieben June 12, 2012 at 08:31 Wir verwenden C nach C99 Standard, Visual Studio kann aber nur C89. Daher musst du Visual Studio sagen den Code als C++ zu kompilieren. Wie das geht steht hier am Ende: http://www.tinkerforge.com/doc/Software/API_Bindings.html#c-c Zitieren
FlyingDoc Geschrieben June 12, 2012 at 08:33 Autor Geschrieben June 12, 2012 at 08:33 Ich habe das selbe Testprogramm von euch genommen was auch bei mir funktioniert. Wenn ich aber die #include "brick_imu.h" mache, brick_imu.c und brick_imu.h ins Projekt lade und die Stepperzeilen auskommentiere bringt es schon die Fehler. Alle Einstellungen gleich. Zitieren
Faab Geschrieben June 12, 2012 at 08:37 Geschrieben June 12, 2012 at 08:37 Bei mir hat mal ein extern "C" weitergeholfen, weis aber nicht ob das hier rein passt.. ( falls die Anleitung von borg dir nicht schon weiter hilft ), Beispiel: extern "C" { #include "my-C-code.h" } anstelle von #include "my-C-code.h" Hat mir damals Tage geraubt, bis ich das herausgefunden habe ( Aber wie gesagt, weis nicht obs bei dir hier das passende ist ) Gruß Faab Zitieren
FlyingDoc Geschrieben June 12, 2012 at 08:53 Autor Geschrieben June 12, 2012 at 08:53 So. Eins Stück weiter. Musste bei brick_imu.c unter Eigenschaften->Erweitert->Kompilierungsart noch auf "Als C++-Code kompilieren (/TP)) umstellen. Hatte das zwar in den Projekteigenschaften global schon gemacht, aber das muss man dann noch bei der einzelnen .c Datei extra machen. "grummel" Bekomme jetzt aber noch ne andere Fehlermeldung. 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(479) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(510) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(541) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(572) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(610) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(641) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(673) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(740) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(789) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(838) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(887) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(937) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(987) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(1036) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(1085) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(1134) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(1183) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(1232) : error C2039: 'function_id': Ist kein Element von 'DeviceAnswer' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(68): Siehe Deklaration von 'DeviceAnswer' 1>z:\software\visual studio 2008\projects\imutest\brick_imu.c(1311) : error C2039: 'expected_name': Ist kein Element von 'Device_' 1> z:\software\visual studio 2008\projects\imutest\ip_connection.h(74): Siehe Deklaration von 'Device_' 1>Code wird generiert... 1>Das Buildprotokoll wurde unter "file://\\programmvs\c$\Software\Visual Studio 2008\Projects\IMUTest\Debug\BuildLog.htm" gespeichert. 1>test - 19 Fehler, 1 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ========== Zitieren
photron Geschrieben June 12, 2012 at 09:14 Geschrieben June 12, 2012 at 09:14 Also hier funktioniert das mit /TP auf Projektebene setzen. Zu dem function_id Fehler: Mischt du ip_connection.h und brick_imu.c aus verschiedenen C/C++ Bindings Versionen? Zitieren
FlyingDoc Geschrieben June 12, 2012 at 09:19 Autor Geschrieben June 12, 2012 at 09:19 Eigentlich nicht. Wie gesagt. Bis auf letztere Fehlermeldungen kann ich jetzt compilieren. Die habe ich aber mal provilaktisch wegbekommen. Folgendes gemacht. In der "ip_connection.h" folgendes geändert. typedef struct { unsigned char type; int length; int function_id; char buffer[MAX_PACKET_SIZE]; } DeviceAnswer; und in der "brick_imu.c" void imu_create(IMU *imu, const char *uid) { ipcon_device_create(imu, uid); // imu->expected_name = "IMU Brick"; imu->binding_version[0] = 1; imu->binding_version[1] = 0; imu->binding_version[2] = 0; imu->device_callbacks[iMU_CALLBACK_ACCELERATION] = imu_callback_acceleration; imu->device_callbacks[iMU_CALLBACK_MAGNETIC_FIELD] = imu_callback_magnetic_field; imu->device_callbacks[iMU_CALLBACK_ANGULAR_VELOCITY] = imu_callback_angular_velocity; imu->device_callbacks[iMU_CALLBACK_ALL_DATA] = imu_callback_all_data; imu->device_callbacks[iMU_CALLBACK_ORIENTATION] = imu_callback_orientation; imu->device_callbacks[iMU_CALLBACK_QUATERNION] = imu_callback_quaternion; } int function_id war nicht definiert. expected_name ist nicht definiert. Komme jetzt bis zur Fehlermeldung "Could not connect to Brick"! Zitieren
FlyingDoc Geschrieben June 12, 2012 at 09:32 Autor Geschrieben June 12, 2012 at 09:32 UID im Programm auf die UID des Brick geändert. Bekomme jetzut ne Verbindung. Ansonsten noch keine weitere Ausgabe.Müsste ja eigentlich über Callback die Funktion cb_quaternion(float x, float y, float z, float w) aufrufen. LED ausschalten funktioniert. Gerade getestet. Zitieren
photron Geschrieben June 12, 2012 at 09:37 Geschrieben June 12, 2012 at 09:37 Du mischt da definitiv verschieden Bindings Version. Deine ip_connection.h kommt aus Version 1.0.6 oder älter und dein brick_imu.c kommt aus Version 1.0.7 oder neuer. Dass das nicht richtig funktionieren kann, wenn du da einfach dem struct ein Feld hinzufügst ist eigentlich klar Stell mal bitte sicher, dass du alle Dateien aus einer Bindings Version verwendest und am besten dann auch die neuste: http://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_1_0_10.zip Zitieren
FlyingDoc Geschrieben June 12, 2012 at 09:55 Autor Geschrieben June 12, 2012 at 09:55 So. Geänderte gezogen und benutzt. Nu kannsch e bissl Programm basteln. Danke für die schnelle Hilfe. Nur das Callback futzt noch nicht. Aber das finde ich schon noch. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.