Errors building current repository
-
Hello,
I’ve just downloaded the current repository, tried to build it with VS 2013 and received these errors.
I’d appreciate your help.
-
Hello Yaron,
I assume you use a visual studio express vesion, the needed header and libraries aren’t included.
But there is a solution, you need to install the wdk7.1
and afterwards you need to modify the include directories.<IncludePath>D:\WinDDK\7600.16385.1\inc\atl71;$(IncludePath)</IncludePath> <LibraryPath>D:\WinDDK\7600.16385.1\lib\ATL\i386;$(LibraryPath)</LibraryPath>
Well, that’s what I did and it solved it, not sure if there is a better/preferred way to do it.
Of course, you need to modify the path to your installation.Cheers
Claudia -
Personally I (and I think alot of others?) use Visual Studio 2013 Community Edition which appears to have the headers/libraries already included. Of course the express edition works fine with some minor tweaks as Claudia has shown.
-
Hello Claudia and dail,
Thank you so much. I really appreciate it.
Yes, I’m using VS 2013 Express.
Some questions:- I’ve built NPP a few times before. Are those Headers/Libraries new? Or they just were not included in the Express edition?
- What would you advise me to do? Should I install the Community Edition or wdk7.1?
Can I install the the Community Edition over the Express Edition or I’d have to uninstall first?
(I assume installing wdk7.1 would be faster and lighter. correct?).
Best regards.
-
Are those Headers/Libraries new?
I think it’s just that some of the new N++ code depends on them for the first time, thus just now causing the errors to show up.
What would you advise me to do?
That’s up to you I guess. The Community edition (which is free) certain isn’t required but that’s not to say issues like this won’t come up again.
Can I install the the Community Edition over the Express Edition
I don’t believe so but I’m not really sure.
I assume installing wdk7.1 would be faster and lighter. correct?
Yes.
-
Hello dail,
Thank you for the detailed explanation.
Is burning the ISO file on a DVD the only way to install wdk7.1?Best regards.
-
Oh! I thought wdk7.1 was a simple exe! :/ Maybe the Community edition is a better option.
-
Thank you for the prompt reply. Really kind of you.
Claudia might know if it’s possible to install the the Community Edition over the Express Edition.
I’ll wait a bit.And if I have to uninstall the Express Edition, wouldn’t it better to install the 2015 edition?
BR.
-
And if I have to uninstall the Express Edition, wouldn’t it better to install the 2015 edition?
That’s probably up to you. Notepad++ “officially” uses 2013 but don’t think there is an issues with 2015. Personally I use 2013 since some of the other software projects I work on require 2013.
-
Thanks again! I’m really grateful.
I guess I’d better stick to the 2013 edition.
I’ll wait for Claudia’s reply as to uninstalling first.BR.
-
Hello Yaron and dail,
community edition (CE) doesn’t upgrade express edition(EE), but you can install it in parallel.
CE has the advantage that it act’s like the professional editions, librarys are available,
you are allowed to develop commercial software (there are restriction in how big the company is
and that are only up to five developers are allowed to use CE version - please be directed to the
license terms from MS) and you can use the plugins which are available for visual studio.
CE disadvantage, from my point of view are the license terms but this needs to be decided by
everyone for its own.If you are fine with the license terms then I don’t see any reason why to use express edition any longer.
Regarding wdk, no you don’t have to burn a cd/dvd.
windows 7 and earlier can use cd/dvd mounter like magiciso, daemon tools, wincdemu, poweriso etc…
Windows8 and later do have it incooperated in explorer. Right click on iso and choose mount.Cheers
Claudia -
Hello Claudia and dail,
Thank you so much! I really appreciate the detailed reply.
I’ve decided to try the lighter option first.
I’ve installed MagicISO (thanks for that too), and then wdk7.1.Sorry to bother you yet again.
Could you please elaborate on modifying the include directories?
Where should I do that?@dail,
Thanks again. I really appreciate your help.Best regards.
-
Hello Yaron,
either you edit the notepadPlus.vcxproj file directly or you use visual studio to do so.
File editing:
There are two nodes Unicode Debug|Win32 and Unicode Release|Win32IncludePath needs to be extended with D:\WinDDK\7600.16385.1\inc\atl71
and
LibraryPath with D:\WinDDK\7600.16385.1\lib\ATL\i386Like here
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Debug|Win32'"> <OutDir>$(Configuration)\</OutDir> <IntDir>$(Configuration)\</IntDir> <LinkIncremental>false</LinkIncremental> <IncludePath>D:\WinDDK\7600.16385.1\inc\atl71;$(IncludePath)</IncludePath> <LibraryPath>D:\WinDDK\7600.16385.1\lib\ATL\i386;$(LibraryPath)</LibraryPath> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Unicode Release|Win32'"> <OutDir>..\bin\</OutDir> <IntDir>$(Configuration)\</IntDir> <LinkIncremental>false</LinkIncremental> <IncludePath>D:\WinDDK\7600.16385.1\inc\atl71;$(IncludePath)</IncludePath> <LibraryPath>D:\WinDDK\7600.16385.1\lib\ATL\i386;$(LibraryPath)</LibraryPath> </PropertyGroup>
when using visual studio, load the solution notepadPlus.sln.
Once done, right click on notepad++ in class view and choose properties.
In properties window select vc++ directories
Click on include directories and a trianlge marker appears on the right,
click it -> two new lines appear click on edit
Add D:\WinDDK\7600.16385.1\inc\atl71
click on applyDo the same steps for library but add D:\WinDDK\7600.16385.1\lib\ATL\i386
close.
Right click on notepad++ and choose build (or via menu)
No error message should appear.Cheers
Claudia -
Hello Claudia,
Thank you very much. I appreciate your kindness and patience.
No errors but multiple warnings.
Should I have changed any thing here?Best regards.
-
Hello Yaron,
actually I do get the same warnings.
As I use this npp on my pc only ( others do get the official ones ;-)
I ignore them, in order to get rid of the warnings I assume you need to change
alt headers as the error suggest that different permissions are merged.Hmm … will try to check this out.
Cheers
Claudia -
Hello Claudia,
If you ignore them, I’ll do the same. :)
And, obviously :), I don’t quite understand your suggestion.
I’ll wait for your further tests.Many thanks again. I’m truly grateful.
BR.
-
Hello Yaron,
when right clicking on notepad++ in project view
you see a folder external dependencies and under this folder
there is a file called atlbase.h If you double click on it
search for #pragma section(“ATL$__a”, read, shared)
comment the three lines and/or replace it with the ones here.//#pragma section("ATL$__a", read, shared) //#pragma section("ATL$__z", read, shared) //#pragma section("ATL$__m", read, shared) #pragma section("ATL$__a", read) #pragma section("ATL$__z", read) #pragma section("ATL$__m", read)
Warnings gone, basically, what ms says, shared means that all process can get access this section
but from my understanding this isn’t possible within an win32 environment at all due to memory protection
between processes.So from my point it is even safe to ignore it. (but I did the change - less to read on the output ;-))
Cheers
Claudia -
could you check if the atlbase.h version provided by community edition has still the shared flag?
Actually I don’t see any reason for it. Maybe someone can enlight me.Cheers
Claudia -
Hello Claudia,
Fast and furious. :)
Commenting those lines generated some errors.
Replacing them works well (no warnings).Thank you.
-
Hello Yaron
Fast and furious. :)
In memories of Paul Walker :-(
Commenting those lines generated some errors.
Not for me, I actually commented them
Replacing them works well (no warnings).
Hmmm, sure you commented them correctly ;-)
Cheers
Claudia