2016-05-31 212 views
0

编译器版本:TI v15.12.1.LTSC++编译错误在Code Composer Studio的类手臂

家庭:ARM

变式:全凭静脉麻醉TM4C123GH6PM

当尝试建立C++中的主类.C这是给下面的错误

**** 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 **** 

类的细节:

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_ */ 

我不知道我们是否需要作出的main.c到的main.cpp。如果是这样的话,这使得文件需要更新的main.cpp

在C++编译任何帮助ARM

+0

'armcl'似乎有一个'--cpp_default'命令行选项,你可以尝试,如果你绝对不能重命名你的main.c –

回答

0

从TI论坛:

默认情况下,TI ARM编译器使用的文件扩展名以确定 是否将源代码编译为C或C++。 如果这是一个CCS项目,您可以将main.c重命名为main.cpp,并且CCS生成的makefile将自动更新。

现在可以使用。谢谢。