Search code examples
c++windows-ce

Windows CE 6.0 and runtime link to Debug DLL /MDd


I'm using Windows CE 6.0 R3 on an x86 PC. I've build the NK.bin and the SDK for the platform. But I've some problem to understand how can I build a console application with /MTd (Debug DLL).

If I try to build this:

// main.c with /MDd
#include <stdio.h>
int main(int argc, char* argv[])
{
    printf("Hello World\n");
    return 0;
}

This work perfectly, but

// main.cpp /MDd
#include <iostream>
int main(int argc, char* argv[])
{
    std::cout << "Hello World\n";
    return 0;
}

build but the application "crash". Seems that the C++ STD shared lib in debug version is not present on the target platform but the debug version of CRT is present.

What have I to do to build C++ application for windows ce 6.0 that link to the debug version of c++ library?

What have I to do to build C++ application for windows ce 6.0 that link to the debug version of c++ library? Have I've to change my Platform Builder?


Solution

  • Fount the problem. The issue is that VS 2008 doesn't deply the debug version of CRT so I've have to deploy manualy the msvcr90d.dll on the target platform. The msvcr90d.dll is located in $(VCInstallDir)/ce/bin/$(ARCHFAM).