MaBo Posted May 25, 2012 at 07:17 PM Share Posted May 25, 2012 at 07:17 PM Hi, bin leider Blutiger Anfänger. Hab zwar schon ein wenig C++ zum lernen Programmiert, compaliert und getestet aber zu mehr kam es noch nicht. Folgendes, ich weiß nicht ob die Example Master Brick compalier fertig ist. Ich hab zwar die UID durch die die der Viewer anzeigt ersetzt. Aber wenn ich das ganze compalieren will dann kommen da nur Fehler mit denen ich nichts anfangen kann. Hier ein Auszug: E:\Entwicklung\Test>cl example.c Microsoft ® 32-Bit C/C++-Optimierungscompiler Version 16.00.40219.01 für 80x86 Copyright © Microsoft Corporation. Alle Rechte vorbehalten. example.c e:\entwicklung\test\ip_connection.h(69) : error C2081: 'bool': Name in der forma len Parameterliste ist ungültig e:\entwicklung\test\ip_connection.h(115) : error C2061: Syntaxfehler: Bezeichner 'bool' e:\entwicklung\test\ip_connection.h(130) : error C2059: Syntaxfehler: '}' e:\entwicklung\test\ip_connection.h(172) : error C2061: Syntaxfehler: Bezeichner 'bool' e:\entwicklung\test\ip_connection.h(173) : error C2059: Syntaxfehler: '}' e:\entwicklung\test\ip_connection.h(180) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(180) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(180) : error C2059: Syntaxfehler: 'Typ' e:\entwicklung\test\ip_connection.h(180) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\ip_connection.h(181) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(181) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(181) : error C2373: 'enumerate_callback_func _t': Neudefinition; unterschiedliche Modifizierer e:\entwicklung\test\ip_connection.h(69): Siehe Deklaration von 'enumerat e_callback_func_t' e:\entwicklung\test\ip_connection.h(181) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'cb' e:\entwicklung\test\ip_connection.h(181) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\ip_connection.h(182) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(182) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(182) : error C2371: 'Device': Neudefinition; unterschiedliche Basistypen e:\entwicklung\test\ip_connection.h(98): Siehe Deklaration von 'Device' e:\entwicklung\test\ip_connection.h(182) : error C2143: Syntaxfehler: Es fehlt ' ;' vor '*' e:\entwicklung\test\ip_connection.h(182) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\ip_connection.h(183) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(183) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(183) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\ip_connection.h(184) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(184) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(184) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\ip_connection.h(194) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(194) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(194) : error C2059: Syntaxfehler: 'Typ' e:\entwicklung\test\ip_connection.h(194) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\ip_connection.h(195) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(195) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(195) : error C2059: Syntaxfehler: 'Typ' e:\entwicklung\test\ip_connection.h(195) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\ip_connection.h(198) : error C2143: Syntaxfehler: Es fehlt ' )' vor '*' e:\entwicklung\test\ip_connection.h(198) : error C2143: Syntaxfehler: Es fehlt ' {' vor '*' e:\entwicklung\test\ip_connection.h(199) : error C2059: Syntaxfehler: 'Typ' e:\entwicklung\test\ip_connection.h(199) : error C2059: Syntaxfehler: ')' e:\entwicklung\test\brick_master.h(88) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' e:\entwicklung\test\brick_master.h(88) : error C2081: 'bool': Name in der formal en Parameterliste ist ungültig e:\entwicklung\test\brick_master.h(88) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' e:\entwicklung\test\brick_master.h(88) : error C2059: Syntaxfehler: ')' example.c(13) : error C2065: 'IPConnection': nichtdeklarierter Bezeichner example.c(13) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'ipcon' example.c(20) : error C2275: 'Master': Ungültige Verwendung dieses Typs als Ausdruck Ich hab die Pfade gesetzt. Andere Programme lassen sich übersetzen und ausführen. Hier der Beweis: E:\Entwicklung\Test>cl bsp1.cpp Microsoft ® 32-Bit C/C++-Optimierungscompiler Version 16.00.40219.01 für 80x86 Copyright © Microsoft Corporation. Alle Rechte vorbehalten. bsp1.cpp C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\xlocale(323) : wa rning C4530: C++-Handler verwendet, aber Entladesemantik ist nicht aktiviert. Ge ben Sie /EHsc an. Microsoft ® Incremental Linker Version 10.00.40219.01 Copyright © Microsoft Corporation. All rights reserved. /out:bsp1.exe bsp1.obj E:\Entwicklung\Test>bsp1.exe Mein erstes C++ Programm. E:\Entwicklung\Test> Weiß jemand woran es ligt. Ich weiß nicht mehr weiter. Gruss Matze Quote Link to comment Share on other sites More sharing options...
borg Posted May 25, 2012 at 08:08 PM Share Posted May 25, 2012 at 08:08 PM Hier gibt es eine Anleitung wie du die C Bindings mit Visual Studio Express zum laufen bekommst: http://www.tinkerforge.com/doc/Software/API_Bindings.html#c-c Du musst den Compiler auf c++ stellen und die ws2_32.lib einbinden. Ich bin mir um ehrlich zu sein nicht sicher wie man das mit Visual Studio in der Kommandozeile tut, könntest du nicht Visual Studio Express installieren und da wie in dem Link beschrieben zum laufen kriegen? Ich vermute man kann sich dann auch irgendwo angucken womit Visual Studio die cl.exe aufruft! Quote Link to comment Share on other sites More sharing options...
MaBo Posted May 26, 2012 at 06:40 PM Author Share Posted May 26, 2012 at 06:40 PM OK, ich sehe das das ganze auf den GNU C++ Compiler hin optimiert ist. Ich werde deinen Tip ausprobieren. Schlimmstenfalls muss ich halt den GNU C++ Compiler installieren. Danke, Gruss Matze Quote Link to comment Share on other sites More sharing options...
photron Posted May 29, 2012 at 03:51 PM Share Posted May 29, 2012 at 03:51 PM Nein, der Code ist nicht für G++ optimiert. Der C Code baucht C99 und Visual Studio kann nur C89. Der Workaround ist bei cl.exe die /TP Option mitzugeben, die dem Compiler sagt den Code als C++ zu kompilieren. cl /TP example.c Quote Link to comment Share on other sites More sharing options...
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.