標題: *** ERROR L211: I/O ERROR ON OUTPUT FILE Keil 編譯時出現(xiàn)問題,請幫指點一下 [打印本頁]

作者: wjwjwjwj    時間: 2022-4-26 21:28
標題: *** ERROR L211: I/O ERROR ON OUTPUT FILE Keil 編譯時出現(xiàn)問題,請幫指點一下

Build started: Project: Project
Build target 'Target 1'
linking...
LX51 LINKER/LOCATER V4.66.97.0 - SN: K1DZC-4GYRBC
COPYRIGHT ARM Germany GmbH 1995 - 2019
@..\Project.lnp "..\main.obj"
TO "..\Project"
Rtx51Tiny
PRINT(".\Listings\Project.map")
*** ERROR L211: I/O ERROR ON OUTPUT FILE:
    EXCEPTION 0029H: ACCESS TO FILE DENIED
    FILE: ..\Project
Target not created.
Build Time Elapsed:  00:00:01


作者: wjwjwjwj    時間: 2022-4-26 21:29
#include "datatype.h"
#include "menu.h"

#include <string.h>
#include <stdio.h>
#include <stdlib.h>


void func(void)
{

}

//首先定義一個菜單結構體
typedef struct menu                      //定義一個菜單
{
unsigned char range_from,range_to;     //當前顯示的項開始及結束序號
unsigned char itemCount;               //項目總數(shù)
unsigned char selected;                //當前選擇項
unsigned char *menuItems[17];                  //菜單項目
struct menu **subMenus;                //子菜單
struct menu *parent;                   //上級菜單 ,如果是頂級則為null
void (**func)();                       //選擇相應項按確定鍵后執(zhí)行的函數(shù)

}Menu;

Menu MainMenu = {                       //定義主菜單
0,3,4,0,                               //默認顯示0-3項,總共4項,當前選擇第0項
  {
  "測量表          ",                   //  >表示有下級選項
  "其他設置        ",
  "保護設定        ",
  "查詢           >"
  }
};

Menu searchMenu = {                    //查詢菜單
0,3,6,0,
{
  "記帳記錄明細   ",
  "未采集記錄數(shù)   ",
  "設備機號       ",
  "本機IP地址     ",
  "記錄空間大小   ",
  "軟件版本       "
}
};
Menu *currentMenu;                               //當前的菜單



//初始化菜單:
void initMenu()
{
char mempool[512];
init_mempool (&mempool, sizeof(mempool));
MainMenu.subMenus = malloc(sizeof(&MainMenu)*4);
MainMenu.subMenus[0] = &searchMenu;//第1到3項沒有子菜單置null,選擇后程序會調用func中相應項中的函數(shù)
MainMenu.subMenus[1] = NULL;
MainMenu.subMenus[2] = NULL;
MainMenu.subMenus[3] = NULL;//第四項查詢有子菜單
       
MainMenu.func = malloc(sizeof(&func)*4);
MainMenu.func[0] = NULL;
MainMenu.func[1] = NULL;
MainMenu.func[2] = &func;//當選擇了并按了確定,會執(zhí)行func函數(shù)
MainMenu.func[3] = NULL;
MainMenu.parent = NULL;//表示是頂級菜單

searchMenu.subMenus = malloc(sizeof(&searchMenu)*6);
searchMenu.subMenus[0] = searchMenu.subMenus[1] = searchMenu.subMenus[2] = searchMenu.subMenus[3] = searchMenu.subMenus[4] = searchMenu.subMenus[5] = NULL;
searchMenu.func = malloc(sizeof(&printf)*6);
searchMenu.func[0] = searchMenu.func[1] = searchMenu.func[2] = searchMenu.func[3] = searchMenu.func[4] = searchMenu.func[5] = NULL;
searchMenu.parent = &MainMenu;//上一級菜單是MainMenu.進入查詢子菜單后按返回鍵,將會顯示這個菜單項

currentMenu = &MainMenu;

}

void main(void)
{


}
作者: wjwjwjwj    時間: 2022-4-26 21:29
以上是代碼
作者: 人工置頂員    時間: 2022-4-27 03:17
頂一下
作者: wjwjwjwj    時間: 2022-4-27 13:35
有沒有高手指點一下,感覺是keil設置問題
作者: lkc8210    時間: 2022-4-27 14:56
你把Project 和 Hex的output路徑放到哪里了?
Keil沒有權限產生檔案
作者: zenmoleshi    時間: 2022-4-27 15:10
output要自己選路徑的,好比你買快遞又不給人家收貨地址
作者: Hephaestus    時間: 2022-4-27 15:29
早年C51必須用DOS8.3文件名,包括路徑名,舉個栗子,12345678.ABC,如果長度長了就認不出來,會出現(xiàn)系統(tǒng)IO錯誤,無法生成文件。
作者: wjwjwjwj    時間: 2022-4-27 17:59
zenmoleshi 發(fā)表于 2022-4-27 15:10
output要自己選路徑的,好比你買快遞又不給人家收貨地址

指定了output文件夾
作者: wjwjwjwj    時間: 2022-4-27 18:02
lkc8210 發(fā)表于 2022-4-27 14:56
你把Project 和 Hex的output路徑放到哪里了?
Keil沒有權限產生檔案

謝謝了,重新指定了output文件夾,剛試了一下編譯通過了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1