I'm trying to upgrade from VS2010 to VS2012. To get the prep2012.cmd I pulled the latest codebase from GitHub.I got the project setup OK, but at first it wouldn't compile because it was missing the ATL stuff. I followed the instructions at http://www.firebreath.org/display/documentation/Building+with+Visual+Studio+Express which got ATL installed.However, now compiling generates the error:5>C:\Program Files\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlbase.h(2845): error C2338: 'CAtlDllModuleT<T>' must be used with either _WINDLL or _USRDLL defined
5> C:\Program Files\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlbase.h(3298) : see reference to class template instantiation 'ATL::CAtlValidateModuleConfiguration<isDllModule,T>' being compiled
5> with
5> [
5> isDllModule=true,
5> T=CFireBreathWinModule
5> ]
5> c:\git\github\firebreath\firebreath\src\pluginauto\win\axmain.h(24) : see reference to class template instantiation 'ATL::CAtlDllModuleT<T>' being compiled
5> with
5> [
5> T=CFireBreathWinModule
5> ]Any tips?
I'm using the 1.7 branch of FireBreath and I see the same error in VS2012. The VS update didn't help. The problem does not seem to be that ATL is missing. Rather, it's that ATL has been changed:template <class T>class ATL_NO_VTABLE CAtlDllModuleT :public CAtlModuleT<T>,private CAtlValidateModuleConfiguration<true, T>{}template<bool isDllModule, typename T>struct CAtlValidateModuleConfiguration{#if !defined(_WINDLL) && !defined(_USRDLL)static_assert(!isDllModule, "'CAtlDllModuleT<T>' must be used with either _WINDLL or _USRDLL defined");#elsestatic_assert(isDllModule, "'CAtlExeModuleT<T>' must be used with neither _WINDLL nor _USRDLL defined");#endif};It appears to work if you change the properties on the generated project for LVP_PluginAuto as the error is saying. Go to Properties -> C/C++ -> Preprocessor and add _WINDLL to the Preprocessor Definitions. Of course that's not the proper fix since it's a generated project file, but maybe that will help someone more familiar with FireBreath than me. It at least got my project working.I did not install the WDK, though I do get an error about that when I initially try to generate the solution file complaining that MFC is missing and I should install the WDK. However, if I just run prep2012.cmd a second time, it succeeds.