看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《purpose (purpose)》之銘言: : D:\Desktop>rc haha.rc : D:\Desktop>cl /c goo.c : D:\Desktop>link goo.obj haha.RES : D:\Desktop>goo : Hello World : 如果要用 mingw 建資源,用 ResEdit 建好 haha.rc 跟 resource.h,接著執行如下 : D:\Desktop>windres haha.rc haha.res : D:\Desktop>gcc goo.c haha.res : haha.res: file not recognized: File format not recognized : collect2: ld returned 1 exit status : D:\Desktop>windres haha.rc haha.res.o : D:\Desktop>gcc goo.c haha.res.o : 這樣就可以了。 近來在摸 Win32 於 gcc 下之編譯, 所幸版上已有一篇優質文,所費時間不至於太離譜, 為簡化問題,附上手邊測試之 resource script。 環境為 tdm-gcc-4.5.2 。 menu_one.rc #include "resource.h" IDR_MYMENU MENU BEGIN POPUP "&File" BEGIN MENUITEM "G&o" , ID_STUFF_GO MENUITEM "E&xit", ID_FILE_EXIT END END IDI_MYICON ICON "EdisonX.ico" menu_one.rc 最後會留個 new line vc.bat RC.exe menu_one.rc CL.exe menu_one.c menu_one.res user32.lib del menu_one.obj menu_one.RES pause vc.bat 是可生成 menu_one.exe,且可正常執行的。問題在 gcc.bat gcc.bat gcc.exe -c menu_one.c windres.exe menu_one.rc resource.o gcc.exe menu_one.o resource.o -o menu_one.exe -mwindows pause 重點在 windres 那行,會陷入 dead loop, cmd line output windres.exe: menu_one.rc:2: syntax error 程序嘗試寫入到一個不存在的管道。 程序嘗試寫入到一個不存在的管道。 程序嘗試寫入到一個不存在的管道。 程序嘗試寫入到一個不存在的管道。 程序嘗試寫入到一個不存在的管道。 windres.exe: menu_one.rc:2: syntax error ... 一直重覆以上敘述,直至 console 掛掉為止。請教 windres flag 是否下達指令有誤? 謝謝各位先進不吝指導,感激不盡。 -- No matter how gifted you are, alone, can not change the world. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.78.41
tropical72:補上原文 #1CvLwD5f 12/13 04:12
purpose:menu_one.rc 的第二行,好像是 resource.h,確認該檔正確 12/13 09:12
tropical72:p 大之意為 ? 第一行是include resource.h,第二行不是 12/13 15:02
tropical72:開始進行 script 嗎?http://www.funp.net/600342 完整 12/13 15:03
purpose:上面猜錯了,把 gcc.bat 檔名改成 gcc2.bat 就行了 12/13 15:26
tropical72:!! p大太神了,我卡了一晚最後竟改檔名就過.感激不盡!! 12/13 15:33
angleevil:有p神快拜<(__)> 12/13 16:12