Notepad++ is a free (free as in both "free speech" and "free beer") source code editor and Notepad replacement that supports several programming languages and natural languages. Running in the MS Windows environment, its use is governed by GPL License.
Since the release of version 7.6.5 Notepad++ is signed using GPG with the following key:
https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/nppGpgPub.asc
There are two components that need to be built separately:
notepad++.exe
: (depends on SciLexer.dll
)SciLexer.dll
: (with nmake)You can build Notepad++ with or without Boost - The release build of Notepad++ is built with Boost.
Since Notepad++
version 6.0, the build of SciLexer.dll
that is distributed
uses features from Boost's Boost.Regex
library.
You can build SciLexer.dll without Boost, ie. with its default POSIX regular expression support instead of boost's PCRE one. This is useful if you would like to debug Notepad++, but don't have boost.
notepad++.exe
:PowerEditor\visual.net\notepadPlus.vcxproj
SciLexer.dll
with boost:Here are the instructions to build SciLexer.dll (for both 32-bit & 64-bit) for Notepad++:
C:\sources\boost_1_70_0
bootstrap.bat
under the boost root, b2.exe
will be generated beside of bootstrap.bat
. For building boost PCRE lib, go into regex build directory by typing cd C:\sources\boost_1_70_0\libs\regex\build
then launch C:\sources\boost_1_70_0\b2.exe toolset=msvc link=static threading=multi runtime-link=static address-model=64 release stage
.
Note that address-model=64 is optional if you want to build lib in 64 bits. For 32 bits build, just remove address-model=64 frome the command line.C:\sources\boost_1_70_0\bin.v2\libs\regex\build\msvc-14.1\release\address-model-64\link-static\runtime-link-static\threading-multi\libboost_regex-vc141-mt-s-x64-1_70.lib
to C:\tmp\boostregexLib\x64\
scintilla\win32\
then run nmake BOOSTPATH=your_boost_root_path BOOSTREGEXLIBPATH=your_built_lib_path -f scintilla.mak
. For example nmake BOOSTPATH=C:\sources\boost_1_70_0\ BOOSTREGEXLIBPATH=C:\tmp\boostregexLib\x64\ -f scintilla.mak
SciLexer.dll
without boost:This will work with notepad++.exe
, however some functionality in Notepad++ will be broken.
To build SciLexer.dll without PCRE support (for both 32-bit & 64-bit):
For 32-bit, open a command prompt for building (a.k.a. the Developer Command Prompt for VS2017)
Developer Command Prompt for VS2017
,
and click/select the result.vcvarsall.bat
(e.g. "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat").For 64-bit, open VS2017 x64 Native tool command prompt.
Change directory (cd
or pushd
) to scintilla\win32\
Build SciLexer.dll
with one of the following commands:
nmake -f scintilla.mak
(normal build)nmake DEBUG=1 -f scintilla.mak
(debugging build)Copy SciLexer.dll
from scintilla\bin\
to the same directory as notepad++.exe
.
Unicode Release
configuration, the output directory
(where notepad++.exe
is) is PowerEditor\bin\
.Unicode Debug
configuration, the output directory
(where notepad++.exe
is) is PowerEditor\visual.net\Unicode Debug\
.See the Notepad++ official site for more information.