New code posted on Sourceforge

Ask any support questions here
Post Reply
stangbat
Posts: 4
Joined: Fri Jan 22, 2010 6:07 am

New code posted on Sourceforge

Post by stangbat »

In looking at the project page at Sourceforge, it appears that David has uploaded changes and bug fixes as of January 30th. See the code committed here:
http://sourceforge.net/projects/explorerplus/

So my question is, how does one compile this code to get an updated and working new version of Explorer++?
Viracocha
Posts: 15
Joined: Wed Nov 25, 2009 2:09 am

Re: New code posted on Sourceforge

Post by Viracocha »

First you need the compile enviroment, you can get a free version from http://www.microsoft.com/express/Downlo ... Visual-CPP
Get a copy of the source code, i suggest from the svn as i assume that it the latest.
Double click \trunk\Explorer++\Explorer++.sln It should open the project within Visual C++ Express.
Click the VC++ Build menu and click Build. It should now compile the source code and make a new Explorer++.exe file. (You can also press F7 or use the toolbar button)
If it doesn't work because of errors then this could be issues with either the build enviroment or the source code, if you do get errors then post them here and i'll try and help fix them.

I'm not sure on the layout of the default install of VC++ Express, but there could be a couple of drop down combo boxes on the toolbar which allow you to choose Release/Debug and Win32/x64. Choose Release and Win32 for a 32bit OS or x64 for a 64bit OS.
The new Explorer++.exe file will be in the newley created \trunk\Explorer++\Explorer++\x64\Release folder (or Win32\Release if you chose that option)
stangbat
Posts: 4
Joined: Fri Jan 22, 2010 6:07 am

Re: New code posted on Sourceforge

Post by stangbat »

Thanks, Virachoca. I downloaded Visual Studio 2008 C++ Express yesterday and fooled around with it. Without knowing what I was doing, I got it to compile what seemed like quite a ways before throwing three errors. So maybe if I try what you are recommending I'll have luck. I'll see if I can get to it this weekend. Thanks again.
msk_
Posts: 4
Joined: Sat Mar 27, 2010 8:30 pm

Re: New code posted on Sourceforge

Post by msk_ »

ok, i take it for grantet.. :twisted:

i attach the slightly modified (shorted) lines from the VisualC++ log-file (3 errors: BuildLog.htm - Debug/Win32). Another log-file (Build/Win32) is slightly similar, just more (149) error lines. I just took the tarball - extracted - loaded the "solution.file" in VC++, and .." F7" :)

any help is highly appreciated! i'm not a c/c++ programmer, nevertheless not just a "user" :roll:
markus

################
Build Log
Build started: Project: Explorer++, Configuration: Debug|Win32

Command Lines
Creating temporary file "d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00001017241720.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /Yu"stdafx.h" /Fp"Debug\Explorer++.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W4 /c /Zi /TP ".\WindowHandler.cpp"

".\WildcardSelectDialog.cpp"

".\TreeViewHandler.cpp"

".\TabHandler.cpp"

".\TabDropHandler.cpp"

[...]

".\ApplicationToolbarHandler.cpp"

".\ApplicationToolbarDropHandler.cpp"

".\AddressBarHandler.cpp"

".\AddBookmarkDialog.cpp"
]
Creating command line "cl.exe @"d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00001017241720.rsp" /nologo /errorReport:prompt"
Creating temporary file "d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00001117241720.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W4 /c /Zi /TP ".\XMLSettings.cpp"
]
Creating command line "cl.exe @"d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00001117241720.rsp" /nologo /errorReport:prompt"
Creating temporary file "d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00001217241720.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /Yc"stdafx.h" /Fp"Debug\Explorer++.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W4 /c /Zi /TP ".\stdafx.cpp"

".\AboutDialog.cpp"
]
Creating command line "cl.exe @"d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00001217241720.rsp" /nologo /errorReport:prompt"
Output Window
Compiling...
AboutDialog.cpp
d:\test\test-2\trunk\explorer++\explorer++\Explorer++.h(184) : error C2504: 'INewMenuClient' : base class undefined
d:\test\test-2\trunk\explorer++\explorer++\Explorer++.h(277) : error C2061: syntax error : identifier 'NMCSAEI_FLAGS'
d:\test\test-2\trunk\explorer++\explorer++\Explorer++.h(278) : error C2061: syntax error : identifier 'NMCII_FLAGS'
stdafx.cpp
Results
Build log was saved at "file://d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\BuildLog.htm"
Explorer++ - 3 error(s), 0 warning(s)

##################
David Erceg
Site Admin
Posts: 938
Joined: Sat Apr 18, 2009 1:46 am

Re: New code posted on Sourceforge

Post by David Erceg »

You'll need to build against v7.0 of the SDK. After you've downloaded and installed it, use the configurator tool (can be accessed from the start menu) to set the default sdk to 7.0, and it should all compile fine.

Alternatively, if you don't have a fast internet connection, just comment out/delete the following lines:

Explorer++.h (lines 277-288):
HRESULT _stdcall SelectAndEditItem(PCIDLIST_ABSOLUTE pidlItem,NMCSAEI_FLAGS flags);
HRESULT _stdcall IncludeItems(NMCII_FLAGS *pFlags);

Explorer++.cpp (lines 2762-2803):
(Includes the definition for the above two functions)

You should then be able to build without any errors. The functions above simply select a file when it's created using the 'New' menu, and only have an effect on Vista and above (they're not used when Explorer++ runs on XP).

Hope that helps :)
msk_
Posts: 4
Joined: Sat Mar 27, 2010 8:30 pm

Re: New code posted on Sourceforge

Post by msk_ »

yes,.. thanks! - "but" :)..
i run here a fresh win7/64 :) , but when i changed the config. to "Release/x64" i had very little respose from VC++ - so i let it with "Debug/Win32".

- And so i fear a bit to d/l around 1500MB (VC++ 7.0) regarding to the MS- message:

#####
Please note if you are running a 64-bit version of Windows and Visual Studio 2008, please upgrade to Visual Studio 2008 SP1 before installing the Windows 7 SDK. This prevents an issue where some platform configuration choices are unavailable in Visual Studio’s New Project Platform and New Solution Platform dialogs.
######

- well, i tried your workaround.., excluded the following more in the Explorer++.h file after an error message..:
######

/* commented: public INewMenuClient, {msk_2010-03-28_} */
class CContainer : public IDropTarget, public IServiceProvider, public IShellView2, public IDropFilesCallback
{
######

- and had then that following message (BuildLog.htm - relevant lines only, i guess the missing 'afxres.h' @bottom matters most?):

##########
Build Log
Rebuild started: Project: Explorer++, Configuration: Debug|Win32

Command Lines
Creating temporary file "d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00004930082868.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /Yu"stdafx.h" /Fp"Debug\Explorer++.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W4 /c /Zi /TP ".\WindowHandler.cpp"

".\WildcardSelectDialog.cpp"

".\TreeViewHandler.cpp"

[...]

".\AddBookmarkDialog.cpp"
]
Creating command line "cl.exe @"d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00004930082868.rsp" /nologo /errorReport:prompt"
Creating temporary file "d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00004A30082868.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W4 /c /Zi /TP ".\XMLSettings.cpp"
]
Creating command line "cl.exe @"d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00004A30082868.rsp" /nologo /errorReport:prompt"
Creating temporary file "d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00004B30082868.rsp" with contents
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0710" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /Yc"stdafx.h" /Fp"Debug\Explorer++.pch" /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W4 /c /Zi /TP ".\stdafx.cpp"

".\AboutDialog.cpp"
]
Creating command line "cl.exe @"d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\RSP00004B30082868.rsp" /nologo /errorReport:prompt"
Creating command line "rc.exe /d "_VC80_UPGRADE=0x0710" /d "_UNICODE" /d "UNICODE" /l 0xc09 /fo"Debug/Explorer++Main.res" ".\Explorer++Main.rc""
Output Window
Compiling...
AboutDialog.cpp
stdafx.cpp
Compiling...
AddBookmarkDialog.cpp
AddressBarHandler.cpp

[...]


ShellContextMenuHandler.cpp
SplitFile.cpp
Generating Code...
Compiling...
TabBackingHandler.cpp
TabDropHandler.cpp
TabHandler.cpp
.\TabHandler.cpp(887) : warning C4101: 'iImage' : unreferenced local variable
.\TabHandler.cpp(884) : warning C4101: 'IconInfo' : unreferenced local variable
.\TabHandler.cpp(883) : warning C4101: 'shfi' : unreferenced local variable
TreeViewHandler.cpp
WildcardSelectDialog.cpp
WindowHandler.cpp
Generating Code...
Compiling...
XMLSettings.cpp
Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
.\Explorer++.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.
Results
Build log was saved at "file://d:\Test\Test-2\trunk\Explorer++\Explorer++\Debug\BuildLog.htm"
Explorer++ - 1 error(s), 3 warning(s)
##########

well,.. i don't know IF i download that 1500MB everything will work right then :roll:

and, of course, thanks for your time and attention!
markus
David Erceg
Site Admin
Posts: 938
Joined: Sat Apr 18, 2009 1:46 am

Re: New code posted on Sourceforge

Post by David Erceg »

From some googling, it appears afxres.h isn't included with vs2008 express edition. You should be able to get it to compile by changing all references to "afxres.h" inside Explorer++.rc to "windows.h", and adding the following line near the top of the rc file:

#define IDC_STATIC (-1)

(Also, see this post for some discussion of the error).

Oh, and I forget to mention in the last post, but you'll have to change line 184 of Explorer++.h from:

class CContainer : public IDropTarget, public IServiceProvider, public IShellView2, public INewMenuClient, public IDropFilesCallback

to:

class CContainer : public IDropTarget, public IServiceProvider, public IShellView2, public IDropFilesCallback

(This just ensures there are no references to INewMenuClient, since it's only defined in v7 of the SDK).

I know it seems like a lot of work to get something simple done, but with the right environment, building it will be as simple as clicking a button ;)
Post Reply