Quantcast
Channel: Visual Studio Integrate forum
Viewing all articles
Browse latest Browse all 4410

C++ VS 2008 Add In and atlwin.h

$
0
0

Hi,

I have a VS 2008 C++/ATL Addin project and want to use the window class in atlwin.h.  As soon as I add the include, the compile fails with an ambiguous reference ...

1>c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlwin.h(3200) : error C2872: 'ULONG_PTR' : ambiguous symbol

1> could be 'c:\program files\microsoft sdks\windows\v6.0a\include\basetsd.h(139) : __w64 unsigned long ULONG_PTR'

1> or 'c:\documents and settings\weltonc\my documents\visual studio 2008\projects\myaddin1\myaddin1\debug\dte80a.tlh(464) : EnvDTE::ULONG_PTR'

1> c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlwin.h(3200) : while compiling class template member function 'ATL::CWndClassInfoA &ATL::CWindowImpl<T>::GetWndClassInfo(void)'

1> with

1> [

1> T=ATL::CAxFrameWindow

1> ]

1> c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\atlhost.h(145) : see reference to class template instantiation 'ATL::CWindowImpl<T>' being compiled

1> with

1> [

1> T=ATL::CAxFrameWindow

1> ]

the dte80a.tlh comes from the type library references in stdafx.h (I think, code for that is below).  The only code I added is the #include <atlwin.h>

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#pragma once
#ifndef STRICT
#define STRICT
#endif
// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER				// Allow use of features specific to Windows 95 and Windows NT 4 or later.
#define WINVER 0x0400		// Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
#endif
#ifndef _WIN32_WINNT		// Allow use of features specific to Windows NT 4 or later.
#define _WIN32_WINNT 0x0400	// Change this to the appropriate value to target Windows 2000 or later.
#endif						
#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE			// Allow use of features specific to IE 4.0 or later.
#define _WIN32_IE 0x0400	// Change this to the appropriate value to target IE 5.0 or later.
#endif
#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit
// turns off ATL's hiding of some common and often safely ignored warning messages
#define _ATL_ALL_WARNINGS
#include "resource.h"
#include <atlbase.h>
#include <atlcom.h>
#pragma warning( disable : 4278 )
#pragma warning( disable : 4146 )
	//The following #import imports the IDTExtensibility2 interface based on it's LIBID
	#import "libid:AC0714F2-3D04-11D1-AE7D-00A0C90F26F4" version("1.0") lcid("0")  raw_interfaces_only named_guids
	//The following #import imports VS Command Bars based on it's LIBID
	#import "libid:1CBA492E-7263-47BB-87FE-639000619B15" version("8.0") lcid("0") raw_interfaces_only named_guids
	//The following #import imports DTE based on it's LIBID
	#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_interfaces_only named_guids
	//The following #import imports DTE80 based on it's LIBID
	#import "libid:1A31287A-4D7D-413e-8E32-3B374931BD89" version("8.0") lcid("0") raw_interfaces_only named_guids
#pragma warning( default : 4146 )
#pragma warning( default : 4278 )
#define IfFailGo(x) { hr=(x); if (FAILED(hr)) goto Error; }
#define IfFailGoCheck(x, p) { hr=(x); if (FAILED(hr)) goto Error; if(!p) {hr = E_FAIL; goto Error; } }
class DECLSPEC_UUID("7BBB747B-E46E-4249-AA20-5C0E386AD78F") MyAddin1Lib;
//using namespace ATL;
class CAddInModule : public ATL::CAtlDllModuleT< CAddInModule >
{
public:
	CAddInModule()
	{
		m_hInstance = NULL;
	}
	DECLARE_LIBID(__uuidof(MyAddin1Lib))
	inline HINSTANCE GetResourceInstance()
	{
		return m_hInstance;
	}
	inline void SetResourceInstance(HINSTANCE hInstance)
	{
		m_hInstance = hInstance;
	}
private:
	HINSTANCE m_hInstance;
};
extern CAddInModule _AtlModule;
#include <atlwin.h>


Viewing all articles
Browse latest Browse all 4410

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>