2

Picked notepad++ source to learn some best practices and sneak inside code of this popular text editor.

The readme file says -

Double click on Notepad++\trunk\PowerEditor\visual.net\notepadPlus.vcproj to launch Notepad++ project in Visual Studio, then build it with the mode you want, that's it.

But attempting to build this in VS-2012 RC build fails with errors saying - 1. some files missing, 2. IntelliSense: pointer to incomplete class type is not allowed.

To keep the question concise and readable, not posting exact error. Please let me know if it is required.

EDIT Added Errors, as per request -

Error 1 error C1083: Cannot open include file: 'FindCharsInRange.h': No such file or directory c:\myLocalSourcePath\notepad++\powereditor\src\Notepad_plus.h 68 1 Notepad++

Error 8 error C2511: 'void ScintillaEditView::getGenericText(TCHAR *,int,int,int *,int *) const' : overloaded member function not found in 'ScintillaEditView' c:\myLocalSourcePath\Notepad++\PowerEditor\src\ScitillaComponent\ScintillaEditView.cpp 1715 1 Notepad++

16 IntelliSense: cannot open source file "VerticalFileSwitcher.h" c:\myLocalSourcePath\Notepad++\PowerEditor\src\NppCommands.cpp 35 1 Notepad++

17 IntelliSense: cannot open source file "documentMap.h" \Notepad++\PowerEditor\src\NppCommands.cpp 36 1 Notepad++

25 IntelliSense: identifier "FindCharsInRangeDlg" is undefined c:\myLocalSourcePath\Notepad++\PowerEditor\src\Notepad_plus.h 351 2 Notepad++

2
  • Please post the error message. Commented Sep 19, 2012 at 20:54
  • 1
    You're missing at least one include directory, the error is pretty clear. Figure out where these header files are and add the directory to your include path. Commented Sep 19, 2012 at 20:59

1 Answer 1

3

I could fix the issue, after changing the build profile. Posting here in hope it could be helpful to someone, one day.

  1. Previously it was selected as ANSI Debug Build. It had to be changed to Unicode Debug build.
  2. I had to delete Notepad++.exe Manifest file.

At this point of time build succeeded.

However while running the application, Scintilla DLL could not be located, as a hack I copied SCiLexer.DLL from installed Notepad++ directory in, Program Files to bin directory inside Notepad++ source code.

Sign up to request clarification or add additional context in comments.

2 Comments

Worked for me, except I did not have to change the build type or delete the manifest file. I did have to get the SCiLexer.DLL like you said.
*** Notepad++ COMES WITH a manifest file: Visual Studio automatically attempts to generate one when you build. Simply open up Project Properties -> Linker -> Manifest File, and turn off "Generate Manifest"***. Also, as for SCiLexer.DLL... if you had read the readme that comes with Notepad++ source code, you must first build the Scintilla source code (using Visual Studio's developer command prompt and nmake), and then copy the DLL file over to the PowerEditor Bin directory. Just read the readme in the root of the source code archive.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.