老大难问题:如何在程序中调用gcc make

[复制链接]
2612|2
 楼主| atMEGA32l 发表于 2008-6-24 14:32 | 显示全部楼层 |阅读模式
老大难问题:如何在程序中调用GCC make 

求助:如何在程序中调用GCC make,并把make输出信息显示出来?类似AVR_STUDIO. 

图为AVR_STUDIO调用make,输出信息
 
 
 楼主| atMEGA32l 发表于 2008-6-24 14:33 | 显示全部楼层

用命令行:

用命令行:
 楼主| atMEGA32l 发表于 2008-6-24 14:35 | 显示全部楼层

怎么在自己的程序中调用make呢?

String sCommandLine; 
DWORD dwExitCode; 
PROCESS_INFORMATION pi; 
STARTUPINFO si; 
SECURITY_ATTRIBUTES sa = {sizeof(sa), NULL, TRUE}; 
memset(&si, 0, sizeof(si)); 
si.cb = sizeof(si); 
si.dwFlags = STARTF_USESTDHANDLES; 
CreatePipe(&hStdOutRead, &hStdOutWrite, &sa, 0);
si.hStdOutput = hStdOutWrite; 
si.hStdError = hStdOutWrite; 
sCommandLine="make.exe"; 
CreateProcess(NULL,sCommandLine.c_str(),&sa,&sa,TRUE,CREATE_NO_WINDOW,NULL,NULL, &si, &pi); 

还是不行. 
输出信息: 
avrdude -p atmega48 -P com3    -c stk500v2    -U flash:w:mc_r1.14.hex  -U efuse:w:0x01:m -U hfuse:w:0xc5:m -U lfuse:w:0xe2:m -U lock:w:0x3c:m 
process_easy: DuplicateHandle(In) failed (e=6) 
process_easy() failed to launch process (e=6) 
avrdude -p atmega48 -P com3 -c stk500v2 -U flash:w:mc_r1.14.hex -U efuse:w:0x01:m -U hfuse:w:0xc5:m -U lfuse:w:0xe2:m -U lock:w:0x3c:m 
Counted 17 args in failed launch
您需要登录后才可以回帖 登录 | 注册

本版积分规则

144

主题

376

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部