打印

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

[复制链接]
1755|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
atMEGA32l|  楼主 | 2008-6-24 14:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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

粉丝