我现在需要使用ATL 建立一个进程外服务器,被其他程序调用。看 深入解析 ATL 上说,附带生成的PS 工程是 做代理、存根用的,这也正是我所需要的,可是新建立的工程中PS 工程就编译不过,说是缺少文件,报错如下:哪位有过此经验呢,帮帮忙解释一下是怎么回事,或者有个最简单的 带 代理存根的 进程外ATL 工程给我参考一下。2>------ Rebuild All started: Project: testAtlexe1PS, Configuration: Debug Win32 ------
2>Build started 2010/11/10 11:40:01.
2>_PrepareForClean:
2>  Deleting file "Debug\testAtlexe1PS.lastbuildstate".
2>InitializeBuildStatus:
2>  Touching "Debug\testAtlexe1PS.unsuccessfulbuild".
2>PreBuildEvent:
2>  Description: Checking for required files
2>ClCompile:
2>  testAtlexe1_p.c
2>c1 : fatal error C1083: Cannot open source file: 'testAtlexe1_p.c': No such file or directory
2>  testAtlexe1_i.c
2>c1 : fatal error C1083: Cannot open source file: 'testAtlexe1_i.c': No such file or directory
2>  dlldata.c
2>  Generating Code...
2>
2>Build FAILED.

解决方案 »

  1.   

    开发环境是 win7 64位系统     vs2010
      

  2.   

    新进展 ,同样的过程 在 WINXP   32位    vs2010 下测试也不通过,暂时否定了 win7 用于权限的问题。同样的过程在 winxp 下 vs2008 是可以通过的,然后将 vs2008 建立的工程移植到 win7 64位+vs2010的环境下也可以测试通过目前在比对生成的文件 
      

  3.   

    找到问题了,是MS BUILD 错误的命令把那两个中间文件删除了,解决方案: 不要连编整个“解决方案”,先编译完com 服务器工程,然后 在 XXXPS 工程上右键 选“project only”-》 build only XXXPS 即可
      

  4.   

    问题是 如何 通过设置去掉  >_PrepareForClean 这个选项呢