Ich habe heute eine Architektur für eine mobile Lösung für Speicherkarten entwickelt und zwar, ja es gibt es noch, in C++/unverwalteten Code. Beim Build überraschte Visual Studio mit einer "aussagekräftigen" Fehlermeldung:
Fehler beim Starten von "rc.exe"

Aha! Im Logbuch zum Build steht mehr:

rc.exe stammt aus einem SDK. In Befehlszeilen wie
/Od /D "_WIN32_WCE=0x502" /D "UNDER_CE=0x502" /D "WINCE" /D "WIN32_PLATFORM_PSPC" /D "_DEBUG" /D "DEBUG" /D "_WINDOWS" /D "ARM" /D "_ARM_" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /fp:fast /GR- /Fo"Windows Mobile 6 Professional SDK (ARMV4I)\Debug/" /Fd"Windows Mobile 6 Professional SDK (ARMV4I)\Debug/vc80.pdb" /W3 /nologo /c /Zi /TP
wird bei rc.exe aber nicht mit absoluten bzw. relativen Pfaden, sondern nur dem Dateinamen gearbeitet. Wenn die rc.exe und das Prinzip kennt, weiß sich jetzt zu helfen. Und sonst? Blogeinträge to the Rescue! Hach Redmond, wann werden Fehlermeldungen "deduktiv"?
Die Lösung
- auf Start klicken
- auf Systemsteuerung klicken
- rechts oben bei Suchen "Umgebung" eingeben (Ansicht Startseite der Systemsteuerung)
- Systemumgebungsvariablen bearbeiten anklicken (gilt für alle Benutzer)
- auf Umgebungsvariablen klicken
- bei Systemvariablen den Wert Path heraussuchen, Bearbeiten anklicken
- an dem letzten Wert den Pfad zum Windows Mobile SDK hinzufügen in der Form
alt: bisheriger Wert
neu: bisheriger Wert;Pfad zum Windows Mobile SDK
Hinzugefügt werden muss¹
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin und
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64
Gemäß der obigen Abbildungen wäre der neue Wert dann so: SVN\bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64 - dann Visual Studio neu starten, ein Systemneustart ist nicht notwendig
¹ die Pfade sind hier für das Windows Mobile 6 SDK (Refresh) dargestellt