nsis error: resolving install function
<p>Sample nsis script:</p>

<pre><code>(--helpers.nsh--)
!define CreateSymbolicLinkFolder "!insertmacro CreateSymbolicLinkFolder"
!ifdef CreateSymbolicLinkFolder_   ; &lt;--- always false
    Function CreateSymbolicLinkFolderFunc
        Exch $0   ; _TARGET
        Exch 1
        Exch $1   ; _JUNCTION
        IfFileExists "$0" 0 done
        ${GetParent} "$1" $R0
        CreateDirectory "$R0"
        System::Call "kernel32::CreateSymbolicLinkW(w `$1`, w `$0`, i 1) i .s"
        done:
        Pop $R0
        Pop $1
        Pop $0
    FunctionEnd
!endif
!macro CreateSymbolicLinkFolder _JUNCTION _TARGET
    !define CreateSymbolicLinkFolder_   ; &lt;--- not work...
    Push "${_JUNCTION}"
    Push "${_TARGET}"
    Call CreateSymbolicLinkFolderFunc
!macroend

(--sample.nsi--)
!include "helpers.nsh"
...
Function Clean
    ${CreateSymbolicLinkFolder} "$APPDATA\SOMEPATH" "$EXEDIR\Data"
FunctionEnd
Section "Main"
    Call Clean
SectionEnd
</code></pre>

<p><strong>Nsis error:</strong><br>
Error: resolving install function "<strong>CreateSymbolicLinkFolderFunc</strong>" in function "Clean"<br>
Note: uninstall functions must begin with "un.", and install functions must not</p>

<p>How can i define CreateSymbolicLinkFolder_ correctly in macro CreateSymbolicLinkFolder?<br>
The "!ifdef CreateSymbolicLinkFolder_" code is to avoid nsis warning, when i don't need to call the macro CreateSymbolicLinkFolder:<br>
install function "CreateSymbolicLinkFolder_" not referenced - zeroing code<br></p>