请问在编译MDL-CE程序生成HelloWorldcmd.h的过程中,用黑框编译就能成功,但直接在VS2013中编译时就出现cannot open resource file - ,这是哪里的原因呢

黑框编译信息:

在VS2013中的编译信息:

用的版本是MSCE Update4,VS2013

我是按照这篇文章配置的开发环境:

Microstation Connect Edition二次开发-VisualStudio 2013开发环境配置(C++)

  • 是否以管理员身份启动你的VS2013?



    Answer Verified By: lbw li 

  • 老师,用了管理员身份启动VS2013之后,编译信息有所变化,但是还是有这个问题

    下面是不用管理员身份启动VS2013的编译信息:

    F:\Bentley\MS二次开发\example\HelloWorld>CALL "C:\Program Files\Bentley\MicroStationCONNECTSDK\MicroStationDeveloperShell.bat" "C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\" "C:\Program Files\Bentley\MicroStationCONNECTSDK\" "F:\Bentley\MS二次开发\output\"
    [Windows]

    Microsoft Windows 10.0.17134.523 (64-bit), Command Shell (32-bit), Standard User

    [Command Line]

    C:\WINDOWS\system32\cmd.exe /c ""C:\Program Files\Bentley\MicroStationCONNECTSDK\\bin\build.bat" "F:\Bentley\MS二次开发\example\HelloWorld\\" -a"
    Arg: C:\PROGRA~1\Bentley\MICROS~2\MICROS~1.BAT [C:\Program Files\Bentley\MicroStationCONNECTSDK\MicroStationDeveloperShell.bat]
    Arg: C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\ [C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\]
    Arg: C:\PROGRA~1\Bentley\MICROS~2\ [C:\Program Files\Bentley\MicroStationCONNECTSDK\]
    Arg: F:\Bentley\MS二次~1\output\ [F:\Bentley\MS二次开发\output\]

    [MicroStation Development Environment]

    MS=C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\
    MSBuildLoadMicrosoftTargetsReadOnly=true
    MSMDE=C:\PROGRA~1\Bentley\MICROS~2\
    MSMDE_OUTPUT=F:\Bentley\MS二次~1\output\

    MDLBIN=C:\PROGRA~1\Bentley\MICROS~2\bin\

    Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Bentley\MicroStationCONNECTSDK\bin\;;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Users\27726\AppData\Local\Microsoft\WindowsApps;;C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\;C:\PROGRA~1\Bentley\MICROS~2\bin\;C:\PROGRA~1\Bentley\MICROS~2\MigrationTools\

    Bentley Systems Make Utility. Version 10.00.00.17, Oct 11 2016
    Mon Jan 14 16:32:40 2019

    ~mkdir F:\Bentley\MS二次~1\output\objects\
    ~mkdir F:\Bentley\MS二次~1\output\rscobj\
    ~mkdir F:\Bentley\MS二次~1\output\reqdobjs\

    [== Building F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.h, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02
    Generating header file (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.h) ... aborted.
    cannot open resource file -
    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorldcmd.rsc, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02

    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorld.rsc, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorld.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02

    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorldtyp.r, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldtyp.mt) ==]
    rsctype @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Type Resource File Generator 03.09.02

    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorldtyp.rsc, (F:\Bentley\MS二次~1\output\objects\HelloWorldtyp.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02

    [== Building C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.ma, (F:\Bentley\MS二次~1\output\objects\HelloWorld.rsc) ==]
    rlib @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Librarian 03.09.02
    ### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Error: File=(F:\Bentley\MS### Cannot write to output file: C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.ma
    ### Data was saved to a file called: C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.tmp
    Mon Jan 14 16:32:41 2019, elapsed time: 0:01
    BMAKE: file [C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.ma] may be incomplete
    BMAKE: call trace
    line: 71, F:\Bentley\MS二次开发\example\HelloWorld\HelloWorld.mke

    下面是用管理员身份启动VS2013的编译信息:

    F:\Bentley\MS二次开发\example\HelloWorld>CALL "C:\Program Files\Bentley\MicroStationCONNECTSDK\MicroStationDeveloperShell.bat" "C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\" "C:\Program Files\Bentley\MicroStationCONNECTSDK\" "F:\Bentley\MS二次开发\output\"
    [Windows]

    Microsoft Windows 10.0.17134.523 (64-bit), Command Shell (32-bit), Standard User

    [Command Line]

    C:\WINDOWS\system32\cmd.exe /c ""C:\Program Files\Bentley\MicroStationCONNECTSDK\\bin\build.bat" "F:\Bentley\MS二次开发\example\HelloWorld\\" -a"
    Arg: C:\PROGRA~1\Bentley\MICROS~2\MICROS~1.BAT [C:\Program Files\Bentley\MicroStationCONNECTSDK\MicroStationDeveloperShell.bat]
    Arg: C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\ [C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\]
    Arg: C:\PROGRA~1\Bentley\MICROS~2\ [C:\Program Files\Bentley\MicroStationCONNECTSDK\]
    Arg: F:\Bentley\MS二次~1\output\ [F:\Bentley\MS二次开发\output\]

    [MicroStation Development Environment]

    MS=C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\
    MSBuildLoadMicrosoftTargetsReadOnly=true
    MSMDE=C:\PROGRA~1\Bentley\MICROS~2\
    MSMDE_OUTPUT=F:\Bentley\MS二次~1\output\

    MDLBIN=C:\PROGRA~1\Bentley\MICROS~2\bin\

    Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Bentley\MicroStationCONNECTSDK\bin\;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\27726\AppData\Local\Microsoft\WindowsApps;C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\;C:\PROGRA~1\Bentley\MICROS~2\bin\;C:\PROGRA~1\Bentley\MICROS~2\MigrationTools\

    Bentley Systems Make Utility. Version 10.00.00.17, Oct 11 2016
    Mon Jan 14 16:39:25 2019

    ~mkdir F:\Bentley\MS二次~1\output\objects\
    ~mkdir F:\Bentley\MS二次~1\output\rscobj\
    ~mkdir F:\Bentley\MS二次~1\output\reqdobjs\

    [== Building F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.h, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02
    Generating header file (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.h) ... aborted.
    cannot open resource file -
    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorldcmd.rsc, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldcmd.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02

    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorld.rsc, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorld.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02

    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorldtyp.r, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorldtyp.mt) ==]
    rsctype @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Type Resource File Generator 03.09.02

    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorldtyp.rsc, (F:\Bentley\MS二次~1\output\objects\HelloWorldtyp.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02

    [== Building C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.ma, (F:\Bentley\MS二次~1\output\objects\HelloWorld.rsc) ==]
    rlib @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Librarian 03.09.02

    [== Building F:\Bentley\MS二次~1\output\objects\HelloWorld.obj, (F:\Bentley\MS二次开发\example\HelloWorld\HelloWorld.cpp) ==]
    cl -IC:\PROGRA~1\Bentley\MICROS~2\include\ -GS- -EHc -GR -wd4345 -GF -favor:blend -D_X64_ -wd4701 -wd4244 -wd4564 -wd4702 -c -W4 -DBENTLEY_WARNINGS_HIGHEST_LEVEL -DWIN32 -DwinNT -MD -D__EXCEPTIONS -D_VISCXX -Gy -wd4996 -Ox -Oy- -Os -D_CONVERSION_DONT_USE_THREAD_LOCALE -D_SECURE_SCL=0 -DWIN32_LEAN_AND_MEAN -DNTDDI_WIN7SP1=0x06010100 -we4692 -nologo -WX -MP -Zi -Zo -FdF:\Bentley\MS二次~1\output\objects\objects.pdb -EHs -fp:fast -FoF:\Bentley\MS二次~1\output\objects\HelloWorld.obj F:\Bentley\MS二次开发\example\HelloWorld\HelloWorld.cpp
    HelloWorld.cpp

    [== Building "C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.dll", (F:\Bentley\MS二次~1\output\objects\HelloWorld.obj) ==]
    link -out:"C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.dll" -WX -Ignore:4087 -Ignore:4089 -Ignore:4199 -MANIFESTUAC:NO -Release -debug -incremental:no -fixed:no @F:\Bentley\MS二次~1\output\objects\HelloWorldlink.rsp
    Microsoft (R) Incremental Linker Version 12.00.40629.0
    Copyright (C) Microsoft Corporation. All rights reserved.

    -dynamicbase
    -dll
    "-out:C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.dll"
    "-implib:F:\Bentley\MS二次~1\output\objects\HelloWorld.lib"
    "-pdb:C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\HelloWorld.pdb"
    -debug -incremental:no -fixed:no
    F:\Bentley\MS二次~1\output\objects\HelloWorld.obj C:\PROGRA~1\Bentley\MICROS~2\library\bentley.lib C:\PROGRA~1\Bentley\MICROS~2\library\mdlbltin.lib C:\PROGRA~1\Bentley\MICROS~2\library\BentleyGeom.lib C:\PROGRA~1\Bentley\MICROS~2\library\DgnPlatform.lib C:\PROGRA~1\Bentley\MICROS~2\library\BentleyAllocator.lib C:\PROGRA~1\Bentley\MICROS~2\library\DgnView.lib gdi32.lib user32.lib kernel32.lib E:\VS2013\VC\\lib\amd64\msvcrt.lib
    C:\PROGRA~1\Bentley\MICROS~2\library\mdlbltin.lib
    正在创建库 F:\Bentley\MS二次~1\output\objects\HelloWorld.lib 和对象 F:\Bentley\MS二次~1\output\objects\HelloWorld.exp
    Mon Jan 14 16:39:28 2019, elapsed time: 0:03

    除了HelloWorld工程,SDK中给的example\ElementsExample也是这样的编译信息(用管理员身份启动VS2013):

    F:\Bentley\MS二次开发\example\ElementsExample>CALL "C:\Program Files\Bentley\MicroStationCONNECTSDK\MicroStationDeveloperShell.bat" "C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\" "C:\Program Files\Bentley\MicroStationCONNECTSDK\" "F:\Bentley\MS二次开发\output\"
    [Windows]

    Microsoft Windows 10.0.17134.523 (64-bit), Command Shell (32-bit), Standard User

    [Command Line]

    C:\WINDOWS\system32\cmd.exe /c ""C:\Program Files\Bentley\MicroStationCONNECTSDK\\bin\build.bat" "F:\Bentley\MS二次开发\example\ElementsExample\\" -a"
    Arg: C:\PROGRA~1\Bentley\MICROS~2\MICROS~1.BAT [C:\Program Files\Bentley\MicroStationCONNECTSDK\MicroStationDeveloperShell.bat]
    Arg: C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\ [C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\]
    Arg: C:\PROGRA~1\Bentley\MICROS~2\ [C:\Program Files\Bentley\MicroStationCONNECTSDK\]
    Arg: F:\Bentley\MS二次~1\output\ [F:\Bentley\MS二次开发\output\]

    [MicroStation Development Environment]

    MS=C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\
    MSBuildLoadMicrosoftTargetsReadOnly=true
    MSMDE=C:\PROGRA~1\Bentley\MICROS~2\
    MSMDE_OUTPUT=F:\Bentley\MS二次~1\output\

    MDLBIN=C:\PROGRA~1\Bentley\MICROS~2\bin\

    Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Bentley\MicroStationCONNECTSDK\bin\;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\27726\AppData\Local\Microsoft\WindowsApps;C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\;C:\PROGRA~1\Bentley\MICROS~2\bin\;C:\PROGRA~1\Bentley\MICROS~2\MigrationTools\

    Bentley Systems Make Utility. Version 10.00.00.17, Oct 11 2016
    Mon Jan 14 16:42:44 2019

    ~mkdir F:\Bentley\MS二次~1\output\objects\
    ~mkdir F:\Bentley\MS二次~1\output\rscobj\
    ~mkdir C:\PROGRA~1\Bentley\MICROS~1\MICROS~1\mdlapps\

    [== Building F:\Bentley\MS二次~1\output\objects\ElementsExamplecmd.h, (F:\Bentley\MS二次开发\example\ElementsExample\ElementsExamplecmd.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02
    Generating header file (F:\Bentley\MS二次~1\output\objects\ElementsExamplecmd.h) ... aborted.
    cannot open resource file -
    [== Building F:\Bentley\MS二次~1\output\rscobj\ElementsExamplecmd.rsc, (F:\Bentley\MS二次开发\example\ElementsExample\ElementsExamplecmd.r) ==]
    rcomp @F:\Bentley\MS二次~1\output\objects\make.opt
    MicroStation Resource Compiler 03.09.02
    Mon Jan 14 16:42:45 2019, elapsed time: 0:01
    F:\Bentley\MS二次开发\example\ElementsExample\ElementsExample.mke(87) : error : Missing Dependency: F:\Bentley\MS二次~1\output\objects\ElementsExamplecmd.h
    BMAKE: call trace
    line: 87, F:\Bentley\MS二次开发\example\ElementsExample\ElementsExample.mke

  • 老师,用管理员身份也是出现

    cannot open resource file -

  • 我猜测您应该还是在配置哪个环境变量的时候出了问题。从您的截图中可以看出点问题。您的两张截图中我绿色笔圈中的部分路径是不一致的。

    Answer Verified By: lbw li 

  • 不知道为什么,重新设置一下环境变量路径就好了,非常感谢您