Command line build error

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Command line build error

3,227 次查看
davidsherman
Senior Contributor I

I found Erich Styger's article on invoking command line builds for KDS, which was very helpful.  Trouble is, I'm using MQX-Lite, which unfortunately requires Processor Novice (oops, Processor Expert), and that seems to be throwing a wrench into it.  I'm getting an error that says:

 

Managed Build system manifest file error:  Unable to resolve the superClass identifier com.processorexpert.cdt.gcc.toolchain.builder in the bulder com.processorexpert.cdt.gcc.toolchain.debug.builder.

 

I've turned off code generation in Processor Expert, but it didn't make a difference.  I've tried running the eclipsec command line from both the workspace and the eclipse directory, but it worked the same.  Is it just a path issue?

标签 (1)
0 项奖励
回复
6 回复数

2,671 次查看
BlackNight
NXP Employee
NXP Employee

Hi David,

this one (Building Projects with Eclipse from the Command Line | MCU on Eclipse)?

Triggering code generation from the command line was subject of a post KDS v2.0.0 release.

But if the code already has been generated, it should build, and you can ignore the errors:

C:\tmp>c:\Freescale\KDS_2.0.0\eclipse\eclipsec.exe -nosplash -application org.ec

lipse.cdt.managedbuilder.core.headlessbuild -data c:\tmp\wsp_kds -build test3

Managed Build system manifest file error: Unable to resolve the superClass ident

ifier com.processorexpert.cdt.gcc.toolchain.builder in the builder com.processor

expert.cdt.gcc.toolchain.debug.builder.

Managed Build system manifest file error: Unable to resolve the superClass ident

ifier com.processorexpert.cdt.gcc.toolchain.builder in the builder com.processor

expert.cdt.gcc.toolchain.release.builder.

09:57:03 **** Build of configuration Debug for project test3 ****

make all

'Building file: ../Sources/main.c'

'Invoking: Cross ARM C Compiler'

arm-none-eabi-gcc -mcpu=cortex-m0plus -mthumb -O0 -fmessage-length=0 -fsigned-ch

ar -ffunction-sections -fdata-sections  -g3 -I"C:\Freescale\KDS_2.0.0\eclipse\Pr

ocessorExpert/lib/Kinetis/pdd/inc" -I"C:\Freescale\KDS_2.0.0\eclipse\ProcessorEx

pert/lib/Kinetis/iofiles" -I"C:/tmp/wsp_kds/test3/Sources" -I"C:/tmp/wsp_kds/tes

t3/Generated_Code" -std=c99 -MMD -MP -MF"Sources/main.d" -MT"Sources/main.o" -c

-o "Sources/main.o" "../Sources/main.c"

'Finished building: ../Sources/main.c'

' '

'Building target: test3.elf'

'Invoking: Cross ARM C++ Linker'

arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -O0 -fmessage-length=0 -fsigned-ch

ar -ffunction-sections -fdata-sections  -g3 -T "C:/tmp/wsp_kds/test3/Project_Set

tings/Linker_Files/ProcessorExpert.ld" -Xlinker --gc-sections -L"C:/tmp/wsp_kds/

test3/Project_Settings/Linker_Files" -Wl,-Map,"test3.map" -nanolibc -o "test3.el

f"  ./Sources/Events.o ./Sources/main.o  ./Project_Settings/Startup_Code/startup

.o  ./Generated_Code/Cpu.o ./Generated_Code/PE_LDD.o ./Generated_Code/Vectors.o

'Finished building target: test3.elf'

' '

09:57:04 Build Finished (took 858ms)

Erich

2,671 次查看
davidsherman
Senior Contributor I

Hi Erich, yes, that's the article.  Digging a little further into it, it appears that if I do a clean operation from within the KDS environment, exit, and then run the command line build, it does indeed compile and build everything despite the errors about Processor Expert.  If I try the -cleanBuild option though, it does not appear to do the same thing.  If I use this line:

c:\freescale\KDS_2.0.0\eclipse\eclipsec -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data c:\users\dsherman\kds2 -cleanBuild "C3Main/Debug"

It appears to issue "make clean" and shows a large list of object files to be deleted, but fails on the .elf file because the path is incomplete.  If I then try to build, it doesn't recompile, it just links and creates the .elf.  Not sure why it's prepending pathnames to the object files correctly, but not for the .elf.  Interestingly, if I use the -cleanBuild command line option after doing a "clean" from within KDS, it builds all.

It's as though not all the settings from KDS are carrying over correctly, because a "clean" from KDS does delete all the object files and the .elf, but not when I use the command line.  I've tried using it from the workspace directory, the project directory within the workspace, and the target directory within the project, but it doesn't seem to make much difference.

0 项奖励
回复

2,671 次查看
BlackNight
NXP Employee
NXP Employee

Hi David,

as you are running the build from the command line anyway, you might delete the object files/.elf from the command line too, instead of using the clean option?

Erich

0 项奖励
回复

2,671 次查看
davidsherman
Senior Contributor I

Thanks Erich, that may be what I have to do.  If I put del /s *.o and del ./Debug/C3Main.elf in the batch file I've made that starts the command line, that seems to delete all the object files and force a clean rebuild.

Interestingly, if I delete the C3Main.elf from the "clean" rule of the makefile, the output in the KDS console window shows it deletes everything except C3Main.elf if I select the "clean" option from the build window.  You would think that the console build would do the same thing, however, something is regenerating the makefile when I start the command line build and that reappears in the "clean" rule.  Weird.

0 项奖励
回复

2,671 次查看
BlackNight
NXP Employee
NXP Employee

Hi David,

re-reading that problem here, I belive it could be related to long command lines on windows. You might try the GNU ARM Eclipse build tools (see Solving the 8192 Character Command Line Limit on Windows | MCU on Eclipse), at least this solved my linker problems.

Erich

0 项奖励
回复

2,671 次查看
Alice_Yang
NXP TechSupport
NXP TechSupport

Hi David.

Please tell us the version of KDS, and the chips you use .

Attachment your project screenshot  and tell me how to reproduce your error step by step.

BR

Alice

0 项奖励
回复