2016-05-31 14 views
0

Compiler-Version: TI v15.12.1.LTSC++ Übersetzungsfehler für die Klasse in Code Composer Studio für Arm

Familie: ARM

varient: Tiva TM4C123GH6PM

Wenn Versuch C++ Klasse in Haupt bauen .c Es wird unter Fehler geben

**** Build of configuration Debug__TI for project Lab1 **** 

"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all 
'Building file: ../Generic.cpp' 
'Invoking: ARM Compiler' 
"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include" -g --gcc --define=ccs="ccs" --define=PART_TM4C123GH6PM --diag_wrap=off --diag_warning=225 --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="Generic.d" "../Generic.cpp" 
'Finished building: ../Generic.cpp' 
' ' 
'Building file: ../main.c' 
'Invoking: ARM Compiler' 
"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include" -g --gcc --define=ccs="ccs" --define=PART_TM4C123GH6PM --diag_wrap=off --diag_warning=225 --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="main.d" "../main.c" 

>> Compilation failure 
subdir_rules.mk:14: recipe for target 'main.obj' failed 
"..\Generic.h", line 11: error #20: identifier "class" is undefined 
"..\Generic.h", line 11: error #66: expected a ";" 
"..\Generic.h", line 15: warning #12-D: parsing restarts here after previous syntax error 
"../main.c", line 6: error #20: identifier "generic" is undefined 
3 errors detected in the compilation of "../main.c". 
gmake: *** [main.obj] Error 1 
'Building file: ../tm4c123gh6pm_startup_ccs.c' 
'Invoking: ARM Compiler' 
"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include" -g --gcc --define=ccs="ccs" --define=PART_TM4C123GH6PM --diag_wrap=off --diag_warning=225 --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="tm4c123gh6pm_startup_ccs.d" "../tm4c123gh6pm_startup_ccs.c" 
'Finished building: ../tm4c123gh6pm_startup_ccs.c' 
' ' 
gmake: Target 'all' not remade because of errors. 

**** Build Finished **** 

Klasse Details sind:

main.c

#include "Generic.h" 

int main(void) { 

    Generic *generic; 
    return 0; 
} 

Generic.cpp

#include "Generic.h" 

Generic::Generic() { 
    // TODO Auto-generated constructor stub 

} 

Generic::~Generic() { 
    // TODO Auto-generated destructor stub 
} 

Generic.h

#ifndef GENERIC_H_ 
#define GENERIC_H_ 

class Generic { 
public: 
    Generic(); 
    virtual ~Generic(); 
}; 

#endif /* GENERIC_H_ */ 

Ich bin nicht sicher, ob wir main.c zu main.cpp machen müssen. Wenn das so ist, dann ist die Datei notwendig machen aktualisiert main.cpp

Jede Hilfe zu C++ Kompilierung für ARM

+0

'armcl' scheint eine Befehlszeilenoption' --cpp_default' zu haben, das könntest du versuchen, wenn du deine main.c nicht unbedingt umbenennen kannst –

Antwort

0

Von TI Forum:

Standardmäßig verwendet der TI ARM-Compiler die Dateierweiterung um festzustellen, ob Compiler einen Quellcode wie C oder C++. Wenn dies ein CCS-Projekt ist, können Sie einfach main.c in main.cpp umbenennen und das von CCS generierte Makefile wird automatisch aktualisiert.

Dies funktioniert jetzt. Vielen Dank.