Pergunta

I am using Visual Studio Ultimate 2012. I have a project that works when i use the default v110 platform toolset.

Now I would like to add the Point Cloud Library (PCL) to this project to further work on it. Unfortunately there are only binaries available for Visual Studio 2010. I first tried to compile the 2012 binaries myself but that turned out to be more trouble than its worth. So i changed my platform toolset to v100 in order to use the PCL prebuilt binaries.

However, when doing so, one of my includes (atlbase.h) is no longer recognized. I have tried to manually include this by adding the Include and Library Directories of ATL in the project properties. This generated a whole lot of new errors, originating from the atl header files, which seems odd. I have also tried changing the option "Use of ATL" to "Dynamic Link to ATL" and "Static Link to ATL" from the default "Not Using ATL" to no avail.

I'm working on a 64 bit Windows 7 Ultimate machine and want to compile in 32 bit.

Edit: Using Process Monitor I have found that Visual Studio is looking for the include file in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlbase.h. This folder (..\atlmfc) does not exist. My VS2012 is installed at D:\School Programs\Visual Studio 2012

Is there a fix for this?

Foi útil?

Solução 2

  1. Download and install WDK 7.1 (microsoft.com/en-us/download/confirmation.aspx?id=11800)
  2. Create an environment variable which points to the installation directory, I called mine WINDDK
  3. Go to project Properties -> VC++ Directories
  4. Add $(WINDDK)\inc\atl71 to Include Directories
  5. Add $(WINDDK)\lib\ATL\i386 to Library Directories (this is for 32 bit)
  6. Go to project Properties -> Linker -> Input
  7. Add atl.lib to Additional Dependencies

These steps have solved my problem

Outras dicas

  1. When you Switch to another different toolset this complete toolset must be available. This includes also the header files.
  2. It should be possible without great Trouble to convert this DLL into VS 2012. Or myabe you can include the complete source without using a separate DLL.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top