?
Solved

trying to set up WTL 7.1 on Microsoft eVC 3 so can use the Object Exchange (OBEX) in Pocket PC

Posted on 2005-04-13
4
Medium Priority
?
625 Views
Last Modified: 2013-11-25
MS eVC (any MS C/C++) is a weak area for me.  am primarily a delphi and code warrior guy.  we need WTL 7.1 so can use the Object Exchange (OBEX) in Pocket PC.  was quite disappointed to see a whole bunch of error messages i don't really understand.  then i can compile an OBEX sample and get that figured out.  then we can move it to MS Visual studio .net 2003 where the "real" project lives.  HELP!  if you can pull me all the way through so the VS.net 2003 can work with this, i'll increase the points since that would be another question altogether.

thanks!
mp

--------------------Configuration: PocketOBEX - Win32 (WCE x86) Debug--------------------
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.cpp(4): Could not find the file bt_sdp.h.
Compiling...
maindlg.cpp
C:\PrjVS\Test\OBEXSample-eVC\maindlg.cpp(5) : warning C4652: compiler option 'Generate Browser Info' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(17) : error C2555: 'CObexFTP::QueryInterface' : overriding virtual function differs from 'IUnknown::QueryInterface' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(18) : error C2555: 'CObexFTP::AddRef' : overriding virtual function differs from 'IUnknown::AddRef' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(19) : error C2555: 'CObexFTP::Release' : overriding virtual function differs from 'IUnknown::Release' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(21) : error C2555: 'CObexFTP::Notify' : overriding virtual function differs from 'IObexSink::Notify' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\obex.h(1552) : see declaration of 'IObexSink'
ObexFTP.cpp
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.cpp(1) : warning C4652: compiler option 'Generate Browser Info' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header
C:\PrjVS\Test\OBEXSample-eVC\obexFTP.h(17) : error C2555: 'CObexFTP::QueryInterface' : overriding virtual function differs from 'IUnknown::QueryInterface' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\obexFTP.h(18) : error C2555: 'CObexFTP::AddRef' : overriding virtual function differs from 'IUnknown::AddRef' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\obexFTP.h(19) : error C2555: 'CObexFTP::Release' : overriding virtual function differs from 'IUnknown::Release' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\obexFTP.h(21) : error C2555: 'CObexFTP::Notify' : overriding virtual function differs from 'IObexSink::Notify' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\obex.h(1552) : see declaration of 'IObexSink'
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.cpp(4) : fatal error C1083: Cannot open include file: 'bt_sdp.h': No such file or directory
PocketOBEX.cpp
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(4) : warning C4652: compiler option 'Generate Browser Info' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(17) : error C2555: 'CObexFTP::QueryInterface' : overriding virtual function differs from 'IUnknown::QueryInterface' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(18) : error C2555: 'CObexFTP::AddRef' : overriding virtual function differs from 'IUnknown::AddRef' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(19) : error C2555: 'CObexFTP::Release' : overriding virtual function differs from 'IUnknown::Release' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(89) : see declaration of 'IUnknown'
C:\PrjVS\Test\OBEXSample-eVC\ObexFTP.h(21) : error C2555: 'CObexFTP::Notify' : overriding virtual function differs from 'IObexSink::Notify' only by return type or calling convention
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\obex.h(1552) : see declaration of 'IObexSink'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : error C2259: 'CMainDlg' : cannot instantiate abstract class due to following members:
        C:\PrjVS\Test\OBEXSample-eVC\maindlg.h(16) : see declaration of 'CMainDlg'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'long __cdecl IUnknown::QueryInterface(const struct _GUID &,void ** )' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(92) : see declaration of 'QueryInterface'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'unsigned long __cdecl IUnknown::AddRef(void)' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(96) : see declaration of 'AddRef'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'unsigned long __cdecl IUnknown::Release(void)' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(98) : see declaration of 'Release'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'long __cdecl IObexSink::Notify(enum _OBEX_EVENT,struct IUnknown *,struct IUnknown *)' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\obex.h(1555) : see declaration of 'Notify'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : error C2259: 'CMainDlg' : cannot instantiate abstract class due to following members:
        C:\PrjVS\Test\OBEXSample-eVC\maindlg.h(16) : see declaration of 'CMainDlg'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'long __cdecl IUnknown::QueryInterface(const struct _GUID &,void ** )' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(92) : see declaration of 'QueryInterface'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'unsigned long __cdecl IUnknown::AddRef(void)' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(96) : see declaration of 'AddRef'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'unsigned long __cdecl IUnknown::Release(void)' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\unknwn.h(98) : see declaration of 'Release'
C:\PrjVS\Test\OBEXSample-eVC\PocketOBEX.cpp(17) : warning C4259: 'long __cdecl IObexSink::Notify(enum _OBEX_EVENT,struct IUnknown *,struct IUnknown *)' : pure virtual function was not defined
        C:\Program Files\Win CE Tools\wce300\Pocket PC 2002\include\obex.h(1555) : see declaration of 'Notify'
Generating Code...
Error executing cl.exe.

PocketOBEX.exe - 15 error(s), 11 warning(s)
0
Comment
Question by:mikepj
  • 2
3 Comments
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 13782271
Could you post the relevant header files? E.g.

error C2555: 'CObexFTP::QueryInterface' : overriding virtual function differs from 'IUnknown::QueryInterface' only by return type or calling convention

is usually caused by simple 'misunderstandings' such as

struct X
{
   virtual void func();
};
struct Y : X
{
   char func();  // error
};

or (in your case)

class CObexFTP: public IUnknown
{
//...
QueryInterface( REFIID iid, void ** ppvObject );
);

}:
0
 
LVL 2

Author Comment

by:mikepj
ID: 13791845
thank you for your reply.

class CObexFTP : public IObexSink
{
public:
  CObexFTP();
  ~CObexFTP();
  // IObexSink::IUnknown
  HRESULT QueryInterface(REFIID iid,void ** ppvObject);


but...i don't know where to look for the IUnknown it conflicts with so i can't resolve the conflict.

much has changed since i posted this question.  since then i've gotten WTL 7.1 successfully installed into MS visual studio .net 2003.  now my need is to use the .net "interop" functions to access the obex part of WTL 7.1...

http://msdn.microsoft.com/chats/transcripts/mobileembedded/embedded_031104.aspx

quoted:

A: We're not adding Obex in V2, though it should be quite easy to call it with
Com Interop.

easy if you know how...

thanks,
mp
0
 
LVL 2

Author Comment

by:mikepj
ID: 16293870
we did not solve the problem but abandoned this way of trying to do it.

thank you anyway for your help.

mp
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question