none
关于应用程序启动,弹出“无法启动程序”对话框 RRS feed

  • 问题

  • 我重新安装了BSP,并更新了SDK,再运行原来的应用程序,就提示没有相应的平台,于是又重新建立一个新工程,将代码拷贝到目录下,再启动调试,就提示“无法启动程序%CSIDL_PROGRAM_FILES%\工程路径\XXX.exe”,若直接运行则探出对话框“0x800700c1”,这是怎么回事啊?怎么解决啊?谢谢啊
    2009年10月27日 9:01

答案

  • ------------------------------------
    我想按下面次序操作比较好:
    1. 更新BSP后,重新编译导出你的SDK包
    2. 卸载掉旧的SDK包
    3. 安装新的SDK包
    4. 不用新建立工程了,用新的SDK可以编译通过就可以了

    --------------------------------------
    楼上的万维网同学,可以调式起来吗?如果可以调式看看进了程序的入口没有。还有启动的提示信息还和开始一样吗?
    再给个建议,新建立一个工程(按你描述可以编译通过并启动),再将原工程进行代码级别的复制到新工程,很快就可以找到原因了

    -------------------------------------
    给出如下3个建议:
    1 根据你的描述,应该是工程项目记录旧的SDK平台信息,
    而新的SDK你的名称改变了,所以造成了再打开旧工程时找不到原来的SDK平台造成的。
    你新建立个工程,只要把*.CPP.*.H实现代码文件和资源文件拷贝过去就可以了,不要拷贝工程文件。
    2 当然保持原SDK名称不变,应该就可以直接使用了
    3 再搞不定,我帮你移植吧,这个应该很简单

    --------------------------------------------------
    楼下的你好,应该是无线通讯的组件吧

    2009年10月29日 6:17

全部回复

  • 建议楼上的 你安装了BSP 那么你就重新生成一个系统
    然后你导出SDK,利用这个SDK重新建立工程,不用你以前的代码 随便建立一个HELLO worl
    确保这个程序可以运行,然后在把以前的代码拷过来!

    2009年10月28日 3:01
  • 前段时间我也遇到了问题,但楼住说已经更新了SDK,不知你的更新的意思.你要安装新BSP导出的SDK,安了吗?

    2009年10月28日 6:49
  • 谢谢哈,我在试。
    顺着这个问题,我还有个疑问,是不是如果我的BSP更新了,SDK就要重新导出安装,然后应用程序就需要重新建立呢?
    能不能保持应用程序工程不变,只是安装SDK时覆盖以前安装的SDk版本就可以呢?否则的话岂不是很麻烦吗?每次更新SDk,都要重建应用程序工程,copy代码,重新编译。。。。。
    2009年10月29日 3:43
  • 我按您说的试过了,随便建立一个空项目什么的都能启动运行,就是一把我自己的项目copy过来就提示那个无法启动程序。
    2009年10月29日 3:59
  • 我安装了新的BSP,建了新的平台工程,编译没有错误,导出了新的SDK,安装了新的SDK,用这个新安装的SDk建立了一个win32的空项目,把我原来的代码考过来,在项目属性里添加了附加包含目录和附加依赖项,然后F5就提示无法启动程序。是哪的配置不对吗?
    2009年10月29日 4:03
  • 前三步我都做了,第四步,是不是要保证SDK的名称不变才行啊?要不然我安装了新的SDK后,原来基于旧SDK建立的应用程序工程都打不开,提示“该项目的所有配置项都需要系统提供对某些平台的支持,但在此计算机上没有安装这些平台。因此无法加载该项目”,可是我的新SDK已经装上了啊,在已安装程序列表可以看到,并且我新建的wince应用例程也可以建立运行成功的阿。

    也就是说,我安装了新SDK以后,旧工程打不开,若是建了新空工程后进行文件copy,则F5提示无法启动程序。

    是不是SDK的什么安装文件名或者什么信息是不能变的啊?
    您说的代码级别的复制是指重新建立每个源文件,一个文件一个文件的进行代码级别的copy,而不是整个工程的源文件的copy吗?
    2009年10月29日 5:50
  • ------------------------------------
    我想按下面次序操作比较好:
    1. 更新BSP后,重新编译导出你的SDK包
    2. 卸载掉旧的SDK包
    3. 安装新的SDK包
    4. 不用新建立工程了,用新的SDK可以编译通过就可以了

    --------------------------------------
    楼上的万维网同学,可以调式起来吗?如果可以调式看看进了程序的入口没有。还有启动的提示信息还和开始一样吗?
    再给个建议,新建立一个工程(按你描述可以编译通过并启动),再将原工程进行代码级别的复制到新工程,很快就可以找到原因了

    -------------------------------------
    给出如下3个建议:
    1 根据你的描述,应该是工程项目记录旧的SDK平台信息,
    而新的SDK你的名称改变了,所以造成了再打开旧工程时找不到原来的SDK平台造成的。
    你新建立个工程,只要把*.CPP.*.H实现代码文件和资源文件拷贝过去就可以了,不要拷贝工程文件。
    2 当然保持原SDK名称不变,应该就可以直接使用了
    3 再搞不定,我帮你移植吧,这个应该很简单

    --------------------------------------------------
    楼下的你好,应该是无线通讯的组件吧

    2009年10月29日 6:17
  • ------------------------------------
    我想按下面次序操作比较好:
    1. 更新BSP后,重新编译导出你的SDK包
    2. 卸载掉旧的SDK包
    3. 安装新的SDK包
    4. 不用新建立工程了,用新的SDK可以编译通过就可以了

    --------------------------------------
    楼上的万维网同学,可以调式起来吗?如果可以调式看看进了程序的入口没有。还有启动的提示信息还和开始一样吗?
    再给个建议,新建立一个工程(按你描述可以编译通过并启动),再将原工程进行代码级别的复制到新工程,很快就可以找到原因了

    -------------------------------------
    给出如下3个建议:
    1 根据你的描述,应该是工程项目记录旧的SDK平台信息,
    而新的SDK你的名称改变了,所以造成了再打开旧工程时找不到原来的SDK平台造成的。
    你新建立个工程,只要把*.CPP.*.H实现代码文件和资源文件拷贝过去就可以了,不要拷贝工程文件。
    2 当然保持原SDK名称不变,应该就可以直接使用了
    3 再搞不定,我帮你移植吧,这个应该很简单


    启动应用程序的时候,通过串口打印出以下信息“ERROR:function @ ordinal 46630 missing in module'wzcsapi.dll'!!!Please check SYSGEN variable!!!”,我添加了附加依赖项wzcsapi.lib,这是我做网络应用需要的。似乎跟这个有关系啊。是不是我建立的平台工程没有包含这个dll呢?可是如果是这个原因,应该加入哪个组件呢?
    2009年10月29日 8:26
  • 问题解决了,就是平台工程组件更新后生成的wzcsapi.lib没有更新导致的。更新了就好了。谢谢各位啦!
    2009年10月29日 9:59
  • ------------------------------------
    我想按下面次序操作比较好:
    1. 更新BSP后,重新编译导出你的SDK包
    2. 卸载掉旧的SDK包
    3. 安装新的SDK包
    4. 不用新建立工程了,用新的SDK可以编译通过就可以了

    --------------------------------------
    楼上的万维网同学,可以调式起来吗?如果可以调式看看进了程序的入口没有。还有启动的提示信息还和开始一样吗?
    再给个建议,新建立一个工程(按你描述可以编译通过并启动),再将原工程进行代码级别的复制到新工程,很快就可以找到原因了

    -------------------------------------
    给出如下3个建议:
    1 根据你的描述,应该是工程项目记录旧的SDK平台信息,
    而新的SDK你的名称改变了,所以造成了再打开旧工程时找不到原来的SDK平台造成的。
    你新建立个工程,只要把*.CPP.*.H实现代码文件和资源文件拷贝过去就可以了,不要拷贝工程文件。
    2 当然保持原SDK名称不变,应该就可以直接使用了
    3 再搞不定,我帮你移植吧,这个应该很简单

    --------------------------------------------------
    楼下的你好,应该是无线通讯的组件吧

    对的,非常感谢这几天提供的回复和帮助,谢谢!
    2009年10月30日 2:59