0

I searched my problem in StackOverflow, and I understood some of the ways to fix this - I guess. However, I couldn't accomplish this:

I have a project that was working in older versions of Microsoft Visual Studio. Now, I have to convert those projects to Visual C++ 2008 Express Edition. I searched in StackOverflow about this and downloaded Windows SDK. I found this one in: this page and this page.

I also updated the directories that Visual C++ Express looks for when compiling my code, and updated those. I added the include and atl directories to VC++Express. However, my output windows still states that:

------ Build started: Project: myProject, Configuration: Debug Win32 ------
Compiling...
stdafx.cpp
c:\documents and settings\username\my documents\visual studio 2008\projects\myProject\myProject\stdafx.h(16) : fatal error C1083: Cannot open include file: 'atlbase.h': No such file or directory
Build log was saved at "file://c:\Documents and Settings\username\My Documents\Visual Studio 2008\Projects\myProject\myProject\Debug\BuildLog.htm"
myProject - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

So, I beg your pardon if I did something wrong, and want you to give me some tips.

Thank you.

Ninja Edit: Do I have to download and install "Windows Driver Kit Version 7.1.0", too?

Community
  • 1
  • 1
John Doe
  • 633
  • 3
  • 14
  • 24

1 Answers1

1

There is no ATL in VS Express Edition.

http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express

Visual C++ Express

The Visual C++ Express Edition can be used to compile .NET as well as Win32 applications. The Windows Platform SDK compilers and core files are included which can be used to build applications that use the Win32 API. To build applications using either MFC or ATL, the libraries have to be obtained from alternative sources such as the free-to-download Windows Driver Kit.

Roman R.
  • 68,205
  • 6
  • 94
  • 158
  • So, is there any way to include it? Some way to download it and include into my project? – John Doe Jun 18 '12 at 11:34
  • WDK has ATL, though I am under impression that this is a copy of one of the old ATL versions (not sure). – Roman R. Jun 18 '12 at 11:35
  • And also, it's 600+MB. Can't I just include a tiny little atlbase.h to somewhere in my project and fix this? – John Doe Jun 18 '12 at 11:37
  • What can I say, ATL is not present as a sort of free download, as far as I know. So you have no option to take this tiny file from. Maybe if your project is not so tightly using ATL (e.g. `CComPtr` wrappers only), you might be better off just re-implementing the missing classes. – Roman R. Jun 18 '12 at 11:39
  • ATL include is not a problem in non-Express editions, right? Like in Visual Studio? Thank you very much. – John Doe Jun 18 '12 at 12:06
  • In non-express ATL is installed with Visual Studio and is automatically on include path. So `#include` works right out of the box. – Roman R. Jun 18 '12 at 12:08
  • Thank you very much for your fast response. So, I'm really sorry, but what must I do for Express editions? Do you think installing WDK is the best thing to do? What about installing Windows SDK? I saw that there's ATL headers inside Windows SDK - that I linked in my question. Is there any way to include those atl headers into my project? Linking them inside Project Properties didn't work. Thank you very much again. – John Doe Jun 18 '12 at 12:15
  • Windows SDK does not have it. Windows DDK possibly have it - you are to try if its ATL works out for you, or perhaps wait for someone to come in to share similar experience. DDK has *some* ATL, which might be or not be a solution for you to resolve the missing dependency. – Roman R. Jun 18 '12 at 12:37
  • I'm sorry, I know I talk too much, but Windows DDK integrates with Visual Studio. However, you said earlier that Visual Studio has ATL classes/headers. I have to compile my code on Express editions. You said there's no ATL headers in Windows SDK, but I think it has. Can you help me include those header files to my project which needs to be compiled under VC++ Express Edition? Thank you very much. – John Doe Jun 18 '12 at 13:24
  • 1. Visual Studio (other than Express) - has it and installs automatically 2. Windows SDK does NOT have it 3. Windows DDK has AFAIR a copy of an older ATL version, if you install it you need to add certain directories to include/lib path under VS/project settings. – Roman R. Jun 18 '12 at 14:04
  • I did what you told, and I get new errors. [Can you help me on this one, too?](http://stackoverflow.com/questions/11118898/atl-headers-in-visual-studio-express-editions) Thank you very much. – John Doe Jun 20 '12 at 12:44