VC幫助雖然很好,但有時很煩,每一次編譯都會自動編譯幫助文件,不理我們有沒有修改過RTF文件,耗神又耗時間,實在讓人煩。
怎么弄掉這幫助呢?上網上去問,沒人回答。在Project Settings里找,也沒找到。Google里搜,也沒搜到。一開始我懷疑是MakeHelp.bat,還真去解決掉他,編譯時也沒發現什么大問題,還高興地上了論壇發表自己的見解。但不好的是,網友demetry發短信告訴我這方法不行,他試了。真的不行,我一開始不信,明明我試了是可以的呀,怎么到他手上就不行了呢?不信他的,發信說他是不是操作錯了。過了一一天,他發信來了,來了一句”你在仔細試一下。我已經試過很多次。你這個方法不行。”我仔細地試了一下,汗顏,真的不行。
仔細找了一下,項目文件里沒什么特別的文件,但有一個DSP文件,用記事本打開此文件仔細看一下,發現有三個地方是用于處理幫助文件的編譯的。禍根正是由這三段代碼產生,下面我們一起來來鏟除禍根。
禍根一、Making help file...
SOURCE=.\hlp\Test.hpj
!IF "$(CFG)" == "Test - Win32 Release"
# PROP Ignore_Default_Tool 1
USERDEP__TEST_=hlp\AfxCore.rtf hlp\AfxPrint.rtf hlp\$(TargetName).hm
# Begin Custom Build - Making help file...
OutDir=.\Release
TargetName=Test
InputPath=.\hlp\Test.hpj
InputName=Test
"$(OutDir)\$(InputName).hlp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
start /wait hcw /C /E /M "hlp\$(InputName).hpj"
if errorlevel 1 goto :Error
if not exist "hlp\$(InputName).hlp" goto :Error
copy "hlp\$(InputName).hlp" $(OutDir)
goto :done
:Error
echo hlp\$(InputName).hpj(1) : error:
type "hlp\$(InputName).log"
:done
# End Custom Build
!ELSEIF "$(CFG)" == "Test - Win32 Debug"
# PROP Ignore_Default_Tool 1
USERDEP__TEST_=hlp\AfxCore.rtf hlp\AfxPrint.rtf hlp\$(TargetName).hm
# Begin Custom Build - Making help file...
OutDir=.\Debug
TargetName=Test
InputPath=.\hlp\Test.hpj
InputName=Test
"$(OutDir)\$(InputName).hlp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
start /wait hcw /C /E /M "hlp\$(InputName).hpj"
if errorlevel 1 goto :Error
if not exist "hlp\$(InputName).hlp" goto :Error
copy "hlp\$(InputName).hlp" $(OutDir)
goto :done
:Error
echo hlp\$(InputName).hpj(1) : error:
type "hlp\$(InputName).log"
:done
# End Custom Build
!ENDIF
# End Source File
# Begin Source File
把此段代碼用以下代碼替換它,或者干脆刪掉它。
SOURCE=.\hlp\Test.hpj
# End Source File
# Begin Source File
禍根二、Making help include file...
SOURCE=.\Resource.h
!IF "$(CFG)" == "Test - Win32 Release"
# PROP Ignore_Default_Tool 1
# Begin Custom Build - Making help include file...
TargetName=Test
InputPath=.\Resource.h
"hlp\$(TargetName).hm" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
echo. >"hlp\$(TargetName).hm"
echo // Commands (ID_* and IDM_*) >>"hlp\$(TargetName).hm"
makehm ID_,HID_,0x10000 IDM_,HIDM_,0x10000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Prompts (IDP_*) >>"hlp\$(TargetName).hm"
makehm IDP_,HIDP_,0x30000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Resources (IDR_*) >>"hlp\$(TargetName).hm"
makehm IDR_,HIDR_,0x20000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Dialogs (IDD_*) >>"hlp\$(TargetName).hm"
makehm IDD_,HIDD_,0x20000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Frame Controls (IDW_*) >>"hlp\$(TargetName).hm"
makehm IDW_,HIDW_,0x50000 resource.h >>"hlp\$(TargetName).hm"
# End Custom Build
!ELSEIF "$(CFG)" == "Test - Win32 Debug"
# PROP Ignore_Default_Tool 1
# Begin Custom Build - Making help include file...
TargetName=Test
InputPath=.\Resource.h
"hlp\$(TargetName).hm" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
echo. >"hlp\$(TargetName).hm"
echo // Commands (ID_* and IDM_*) >>"hlp\$(TargetName).hm"
makehm ID_,HID_,0x10000 IDM_,HIDM_,0x10000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Prompts (IDP_*) >>"hlp\$(TargetName).hm"
makehm IDP_,HIDP_,0x30000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Resources (IDR_*) >>"hlp\$(TargetName).hm"
makehm IDR_,HIDR_,0x20000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Dialogs (IDD_*) >>"hlp\$(TargetName).hm"
makehm IDD_,HIDD_,0x20000 resource.h >>"hlp\$(TargetName).hm"
echo. >>"hlp\$(TargetName).hm"
echo // Frame Controls (IDW_*) >>"hlp\$(TargetName).hm"
makehm IDW_,HIDW_,0x50000 resource.h >>"hlp\$(TargetName).hm"
# End Custom Build
!ENDIF
# End Source File
# Begin Source File
把上面這段代碼用以下內容替換它,千萬別刪了。
SOURCE=.\Resource.h
# End Source File
# Begin Source File
禍根三、Copying contents file...
SOURCE=.\hlp\Test.cnt
!IF "$(CFG)" == "Test - Win32 Release"
# PROP Ignore_Default_Tool 1
# Begin Custom Build - Copying contents file...
OutDir=.\Release
InputPath=.\hlp\Test.cnt
InputName=Test
"$(OutDir)\$(InputName).cnt" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "hlp\$(InputName).cnt" $(OutDir)
# End Custom Build
!ELSEIF "$(CFG)" == "Test - Win32 Debug"
# PROP Ignore_Default_Tool 1
# Begin Custom Build - Copying contents file...
OutDir=.\Debug
InputPath=.\hlp\Test.cnt
InputName=Test
"$(OutDir)\$(InputName).cnt" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy "hlp\$(InputName).cnt" $(OutDir)
# End Custom Build
!ENDIF
# End Source File
# End Group
# Begin Source File
把上面這段代碼用以下內容替換它,最好別刪了。
SOURCE=.\hlp\Test.cnt
# End Source File
# End Group
# Begin Source File
好了,解決了,世界又恢復了清凈。
|