Archived

This forum has been archived. Please start a new discussion on GitHub.

IceE for Windows Mobile

I have made an application in C# for Windows Mobile, and wish to use IceE.

The plan is to generate an IceE library in C++ and build it into a .dll that my existing C# can call.

The problem is that I'm not proficient in C++ (using Visual Studio 2005). I've tried, I really have. But I'm struggling with compiling and linking. Would anyone like to run me through how to get the Printer example to compile? Once I get that working, I'm confident that I can work out the rest myself.

Comments

  • dwayne
    dwayne St. John's, Newfoundland
    Have you looked at the demos that come with Ice-E? They can compile with either nmake or using project files, whichever you prefer to use. The simplest example is demo/IceE/minimal.

    Dwayne
  • Thanks Wayne. Getting closer...

    When trying to compile minimalC and minimalS, VS could not find:
    IceE/BuiltinSequences.h (in file Initialize.h)
    IceE/Identity.h (in file Proxy.h)
  • dwayne
    dwayne St. John's, Newfoundland
    Those files are generated by the Slice to Ice-E compiler when you build the core dll. Did you build the core dll before you tried to build the demo? You should follow the instructions in INSTALL.WINCE in order to build Ice-E for Windows Mobile.
  • Aha! I didn't spot INSTALL.WINCE. Always good to read the Readme file.

    I've now followed the instructions carefully and tried to build. The build fails with:
    The system cannot find the path specified.
    NMAKE : fatal error U1077: '"\VC\ce\bin\x86_arm\cl.exe' : return code '0x1'

    The make files are too cryptic for me to figure out what variable I must set the VS path to.
    (The path in the error refers to subdirectories inside the VS home dir.)

    What system variable is the make file expecting will point to VS home?

    (Perhaps because I chose C# to be the main production envinment for VS, the VS installation did not set the system variables the same as it would've if I'd chosen C++ as the main production envinment. Now I'm just hypothesising.)
  • dwayne
    dwayne St. John's, Newfoundland
    The environment variable that appears not to be set is VSINSTALLDIR. Are you running nmake from a Visual Studio 2005 Command Prompt or just a regular Windows Command Prompt. When you use the VS2005 Command Prompt, this variable should be set. To run the VS2005 prompt you use "Programs->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 Command Prompt".

    Dwayne
  • Got it to work! Thank you. :)

    So, the rumours that C++ takes a long time to compile are true.

    Hope it'll be fairly straight forward making a VS C++ project compilable.

    Note: In config\Make.rules.mak the EMBEDDED_OS property does not work with WindowsMobile6. (I got it to work using WindowsMobile5.0.)
  • dwayne
    dwayne St. John's, Newfoundland
    thonellp wrote: »
    Note: In config\Make.rules.mak the EMBEDDED_OS property does not work with WindowsMobile6. (I got it to work using WindowsMobile5.0.)

    What failed with WindowsMobile6?
  • Building very soon hits this:

    C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\ctype.h(175) : error C2448
    : '_CRT_OBSOLETE' : function-style initializer appears to be a function definiti
    on
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\basetsd.h(345)
    : error C2065: 'ULONG_PTR' : undeclared identifier
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\basetsd.h(345)
    : error C2146: syntax error : missing ')' before identifier 'p'
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\basetsd.h(345)
    : error C2059: syntax error : ')'
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\basetsd.h(354)
    : error C2144: syntax error : 'unsigned __int64' should be preceded by ')'
    C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\basetsd.h(354)
    : error C2059: syntax error : ')'
    etc.