討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
Warning treated as error 如何取消
更改我的閱讀文章字型大小
作者 : johnny6740(牧童哥) VC++優秀好手驅動程式優秀好手Assembly優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 791 | 人氣 24021 | 評價 3770 | 評價/貼文 4.77 | 送出評價 31 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/1/20 下午 02:39:25
請問我編譯 "WDM 驅動程式設計手冊" 的範例程式 USBKBD 時,會出現以下錯誤訊息

c:\winddk\2600.1106\inc\wxp\usbioctl.h(449) : error C2220: warning treated as error - no object file generated
c:\winddk\2600.1106\inc\wxp\usbioctl.h(449) : error C4200: nonstandard extension used : zero-sized array in struct/union

而對應的 Error 位置為 USBIOCTL.H 中的

typedef struct _USB_NODE_CONNECTION_INFORMATION {
    ULONG ConnectionIndex;
    /* usb device descriptor returned by this device
     during enumeration */
    USB_DEVICE_DESCRIPTOR DeviceDescriptor;
    UCHAR CurrentConfigurationValue;
    BOOLEAN LowSpeed;

    BOOLEAN DeviceIsHub;

    USHORT DeviceAddress;

    ULONG NumberOfOpenPipes;

    USB_CONNECTION_STATUS ConnectionStatus;
    USB_PIPE_INFO PipeList[0]; // 錯誤的地方
} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;

請問該如何解決這個問題?謝謝
作者 : kcin(nick)
[ 貼文 153 | 人氣 2 | 評價 900 | 評價/貼文 5.88 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人johnny6740註記此篇回應為很有道理 2005/2/20 下午 09:29:28
USB_PIPE_INFO PipeList[0]; // 錯誤的地方
} USB_NODE_CONNECTION_INFORMATION,
這種是window傳遞不明數目的資料的方法

warning treated as error - no object file generated

When the compiler option /WX is used, the first warning generated by the compiler causes this error message to be displayed.

Either correct the condition that caused the warning or compile at a lower warning level or without /WX.

作者 : johnny6740(牧童哥) VC++優秀好手驅動程式優秀好手Assembly優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 791 | 人氣 24021 | 評價 3770 | 評價/貼文 4.77 | 送出評價 31 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/21 上午 08:45:47
但這個檔案是 DDK 的表頭檔,並非我自己建的,如果修改這個檔案,會不會造成其他的問題?是否有其他的處理方式?謝謝
作者 : rickyyeh999(ricky)
[ 貼文 14 | 人氣 5 | 評價 150 | 評價/貼文 10.71 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人johnny6740註記此篇回應為很有道理 2005/3/26 上午 01:15:02

>是否有其他的處理方式?謝謝

嗯...去找一下Win2000 DDK 跟VC6. 安裝Win2000 DDK + VC6, 進入Win2000 DDK的編譯環境,到你的usbkbd\sys目錄,不用修改檔案,直接鍵入build -cZ就可以compile成功.

Ricky
作者 : johnny6740(牧童哥) VC++優秀好手驅動程式優秀好手Assembly優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 791 | 人氣 24021 | 評價 3770 | 評價/貼文 4.77 | 送出評價 31 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/3/26 上午 06:30:53
我用的是 WinXP DDK Build 2600 + VC 6.0
是否版本太舊?
作者 : rickyyeh999(ricky)
[ 貼文 14 | 人氣 5 | 評價 150 | 評價/貼文 10.71 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/3/26 上午 09:23:34

>我用的是 WinXP DDK Build 2600 + VC 6.0
>是否版本太舊?

你要的答案是:你用的是較新的(還有更新的),Win2000 DDK是較舊的.

我覺得較好的說法是XP DDK造出來的程式適合在WinXP上跑,2000 DDK造出來的程式適合在Win2000 上跑.

(且XP DDK不需VC6,它本身就有compiler不需借用VC6的compiler.你可能是要在VC的IDE環境上寫程式吧!)

Ricky
作者 : rickyyeh999(ricky)
[ 貼文 14 | 人氣 5 | 評價 150 | 評價/貼文 10.71 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人johnny6740註記此篇回應為最佳解答 2005/3/26 上午 10:03:46

>但這個檔案是 DDK 的表頭檔,並非我自己建的,如果修改這個檔案,會不會造成其他的問題?是否有其他的處理方式?謝謝

若你沒有Win2000 DDK.較快的方法是在你的Sources檔案媦W加一行:

MSC_WARNING_LEVEL=/W1

這樣就可以用了,到XP DDK環境下用Build -cZ就可以通過了,不用改其它的東西.

Ricky
作者 : johnny6740(牧童哥) VC++優秀好手驅動程式優秀好手Assembly優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 791 | 人氣 24021 | 評價 3770 | 評價/貼文 4.77 | 送出評價 31 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/3/28 上午 10:28:44
我當初的做法是修改 DDK bin 目錄下的 i386mk.inc,將檔案中的 /WX選項暫時拿掉,但為了避免造成其他問題,使用完後又要還原。你的方法可以徹底解決我的問題,真是太好了
 板主 : 徵求中
 > 驅動程式 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 驅動程式 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
驅動程式
1 新兵衛 1240 
2 eBoy 980 
3 牧童哥 780 
4 北極熊 580 
5 天行者 580 
6 燒酒仙 440 
7 weber 380 
8 KEN 350 
9 jonay 180 
10 掌握文武半邊天 180 
驅動程式
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
6.298828E-02