Windows CE 6.0 和运行时链接到调试 DLL/MDd [英] Windows CE 6.0 and runtime link to Debug DLL /MDd

查看:13
本文介绍了Windows CE 6.0 和运行时链接到调试 DLL/MDd的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 x86 PC 上使用 Windows CE 6.0 R3.我已经为平台构建了 NK.bin 和 SDK.但是我在理解如何使用/MTd(调试 DLL)构建控制台应用程序时遇到了一些问题.

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).

如果我尝试构建这个:

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

这工作完美,但

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

构建但应用程序崩溃".似乎目标平台上不存在调试版本中的 C++ STD 共享库,但存在调试版本的 CRT.

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.

我该怎么做才能为 Windows ce 6.0 构建 C++ 应用程序,该应用程序链接到 C++ 库的调试版本?

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

我该怎么做才能为 Windows ce 6.0 构建 C++ 应用程序,该应用程序链接到 C++ 库的调试版本?我必须改变我的平台构建器吗?

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?

推荐答案

找到问题所在.问题是 VS 2008 没有部署 CRT 的调试版本,所以我必须在目标平台上手动部署 msvcr90d.dll.msvcr90d.dll 位于 $(VCInstallDir)/ce/bin/$(ARCHFAM).

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).

这篇关于Windows CE 6.0 和运行时链接到调试 DLL/MDd的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆