Building on VS2005 Express

Discussion Forums discussion Building on VS2005 Express

This topic contains 0 voices and has 11 replies.

Viewing 12 posts - 1 through 12 (of 12 total)
Author Posts
Author Posts
May 13, 2006 at 2:58 pm #65


As PN doesn’t run at all on half the platforms it’s supposed to due to bug 1440878 I thought someone should investigate.

Tortoise SVN fetched the src

Can’t find any docs about how to build or

what you need to build.

Opened project and convert in MS VS2005.

Lots of files build OK, swimming in warnings, some errors, some missing files.

Anyone been here before?

Error 3 fatal error C1083: Cannot open include file: ‘boost/shared_ptr.hpp’: No such file or directory h:documents and settingsanthonymy documentswinavrpnpnwtlpypnstdafx.h 13

Error 22 error C2440: ‘initializing’ : cannot convert from ‘const wchar_t *’ to ‘wchar_t *’ h:documents and settingsanthonymy documentswinavrpnpnwtltaggersctagsnavigatorlanguagemapping.cpp 17

Error 59 fatal error C1083: Cannot open include file: ‘atlbase.h’: No such file or directory h:documents and settingsanthonymy documentswinavrpnpnwtlstdafx.h 41

Error 60 error BK1506 : cannot open file ‘.debugappsettings.sbr’: No such file or directory BSCMAKE

Error 61 Error spawning ‘midl.exe’. Project


May 13, 2006 at 5:02 pm #14980


You must install boost ( ) and wtl.


and add the following include directoris in MS VS2005:






May 14, 2006 at 8:43 pm #14981

Key Master

Klaus is right, and if you don’t have ATL as part of the express edition you should see this blog post:

May 14, 2006 at 8:43 pm #14982

Key Master

Also, I should note that parts of PN2 now require WTL 7.5 which is available from the SF pages:

May 16, 2006 at 2:12 am #14983



I noted the need for WTL and Boost and fetched. Boost is building – it’ll take all night.

Is it essential to build boost with Python?

midl.exe wasn’t really AWOL; just lurking in the SDK. I thought I’d already set the paths.

** ctagnsnavigator

I suppressed warnings with _CRT_SECURE_NO_DEPRECATE.

In tagtypes.h we have

#define TAGM_RECORD 1 << 30

#define TAGM_SUBTYPE 1 << 31

#define TAGM_TRIGGER 1 << 32

#define TAGM_SET 1 << 33

#define TAGM_FIELD 1 << 34

#define TAGM_TABLE 1 << 35

What’s up here? Why’s this bitmask put into an int? Should this be long long everywhere?

Is the SVN a working build at this instant?

It’s a warning but the code is broken.

Still afxres.h is missing

** customscheme


some of the headers in scintilla aren’t in the project

** pcre

builds OK

** pn

errors with ATL.

‘_Module’ : undeclared identifier – atlcom.h

Wrong version of ATL in the W2003 PSDK?

** pnse

‘CAtlDllModuleT’ : base class undefined – module.h

Looks like this should have come from ATL.

**pypn, pn

needs boost…

** textclipcreator

appears to be C#, so I downloaded VS2005 C# Express and it converted the project and built OK. Runs too.

Out-of-time for now, another day.


May 16, 2006 at 7:26 am #14984

Key Master

Hi AntM,

The only bit of boost you need to build is boost python (there’s a solution file for that somewhere). The bits PN itself uses are non-compiled bits like shared_ptr. I haven’t tried building with the PSDK version of ATL myself, but have you followed the steps in the CodeProject article my blog post points to?

Also, have you installed WTL and included it in your include directories?

The tagtypes.h stuff still needs thinking about. It uses two ints in a struct instead of a 64-bit int. I think perhaps a 64-bit int would be better. These are recent contributed changes.

The code in svn builds OK for me at the moment, although things are always changing as new stuff is checked in.

I’ll add _CRT_SECURE_NO_DEPRECATE to all of the stdafx.h files – this should save you doing that again.


May 18, 2006 at 2:58 am #14985


Boost built all night and swallowed over 900M giving me a constriction in my small C colon.

Python? Ah, so I did need python. Wont Tcl or Perl do? :=) I hope I can get Python binaries. How little of Python is needed on the target PC (or is it built static)?

WTL and Boost (built pythonless) are present in the include/lib paths and all the tweaks are made. I shall fix python in due course.

int on Win32 is 16 bits, not 32, isn’t it? This isn’t Unix.

Note there was part that built without stdafx.h

Building pn I get this clueful err:

TabbedMDISave.h requires ATL 7.0 or higher

Looks like I didn’t get the right ATL in the PSDK? MS have released a new PSDK or I could copy ATL from someone with VS7 or


The missing afxres.h is hiding in the PSDK includemfc hence another dir needed on the include path for mfc. Why is mfc needed? Why not the kitchen sink too? Progress as ctagsnavigator now builds.

On the original bug, not starting on Win95/NT4, I noticed in pnstdafx.h there is:

#define WINVER 0×0500 // Changed to allow CDotNetTabCtrl to compile with COLOR_HOTLIGHT

#define _WIN32_WINNT 0×0501

#define _WIN32_IE 0×0501

This is not obviously to do with multi-monitor, but being in stdafx it may have side-effects. It may be a red-herring. The missing import “MonitorFromPoint” does not seem to be in any file in PN, so must come from a static library.


June 27, 2006 at 11:17 am #14986


I cann’t built using vs 2005 (I have setup boost and wtl). Who can provide a step by step tutorial using vs 2005 prof. edition?


June 30, 2006 at 11:28 am #14987

Key Master

I’ll try and sort this out when I’m back from holiday next week, I’ve been meaning to do it for a while.

October 17, 2006 at 1:09 am #14989


Is there any follow up to this. Because I have followed all of the above steps, but still have compilation problems.

It seem to have a problem with the ATL versiion. Does anyone know of a way to get an updated version? I already did the hacks on codeprojects which got me to here.

I will try to use the atl from a newer PSDK on the microsoft website and see if that works.

c:documents and settingsownerdesktoppn2pnwtlpnstrings.h(43) : error C3861: ‘AtlIsValidString’: identifier not found

c:documents and settingsownerdesktoppn2pnwtlpnstrings.h(58) : error C3861: ‘AtlIsValidString’: identifier not found

c:documents and settingsownerdesktoppn2pnwtltabbingframeworktabbedmdisave.h(205) : fatal error C1189: #error : TabbedMDISave.h requires ATL 7.0 or higher

October 25, 2006 at 12:51 pm #14990

Key Master

The current code should build fine in VS 2005.

eepman, so I guess you’re using VS2005 express? I’m not sure what can be done about that, although removing the COM dependency from the TabbedMDI save code may get us much closer. This would involve re-writing that dialog to either not use COM or to not use attributed COM (IIRC) which would be a fairly good thing to do anyway.

The AtlIsValidString things are easy to get rid of anyway.

October 25, 2006 at 7:31 pm #14991


But as soon as I did, BAM! About 100 more errors shot up. I’ll keep trying till I get a mostly working version. Tell you when I do.

Viewing 12 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic.