NSIS INTALLER:lvm_getitemcount 已经定义

NSIS INTALLER: lvm_getitemcount already defined

使用此功能保存在 NSIS 中显示的安装日志

    !define LVM_GETITEMCOUNT 0x1004
    !define LVM_GETITEMTEXT 0x102D

    Function DumpLog
      Exch 
      Push [=11=]
      Push 
      Push 
      Push 
      Push 
      Push 

      FindWindow [=11=] "#32770" "" $HWNDPARENT
      GetDlgItem [=11=] [=11=] 1016
      StrCmp [=11=] 0 exit
      FileOpen   "w"
      StrCmp  "" exit
        SendMessage [=11=] ${LVM_GETITEMCOUNT} 0 0 
        System::Alloc ${NSIS_MAX_STRLEN}
        Pop 
        StrCpy  0
        System::Call "*(i, i, i, i, i, i, i, i, i) i \
          (0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1"
        loop: StrCmp   done
          System::Call "User32::SendMessageA(i, i, i, i) i \
            ([=11=], ${LVM_GETITEMTEXT}, , r1)"
          System::Call "*(&t${NSIS_MAX_STRLEN} .r4)"
          FileWrite  "$\r$\n"
          IntOp   + 1
          Goto loop
        done:
          FileClose 
          System::Free 
          System::Free 
      exit:
        Pop 
        Pop 
        Pop 
        Pop 
        Pop 
        Pop [=11=]
        Exch 
    FunctionEnd

nsis website,我得到错误

lvm_getitemcount already defined 

编译安装程序脚本时。有什么想法吗?

编译器告诉你问题所在!

一些其他代码已经定义了该符号,可能在您包含的 header 中。

注释掉第二个定义或检查它是否已经被定义:

!ifndef LVM_GETITEMCOUNT 
!define LVM_GETITEMCOUNT 0x1004
!endif
!ifndef LVM_GETITEMTEXT 
!define LVM_GETITEMTEXT 0x102D
!endif