Почему командная строка разработчика Visual Studio 2017 может открывать stdio.h только в режиме администратора? - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь выполнить симуляцию с помощью Delmia. Для этого требуется работающий C компилятор. Когда я тестирую свой C компилятор в Delmia, который пытается скомпилировать очень простой исходный файл, включающий stdio.h, я получаю сообщение об ошибке «Не удается открыть включаемый файл: 'stdio.h': нет такого файла или каталога»:

Compiling and linking the model (Visual C++). 

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.6.2
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86'
Guessed compiler version: 1913  
"Testing 32-bit compilation" 
dsmodel.c
dsmodel.c(1): fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory

Error generating Dymosim. 

Кажется, это полностью та же проблема, что и:

Visual Studio 2017 для Dymola не может открыть stdio.h

Его решение не достаточно описательный, чтобы я мог решить мою проблему, поскольку его «ИТ-отдел», очевидно, решил ее за него, но он упоминает о разрешении доступа к regedit, причину которого я не понимаю в этом контексте.

Я пытался воссоздайте ошибку, которую Delmia генерирует при компиляции dsmodel. c с помощью командной строки разработчика VS2017. Если я запускаю командную строку в Администраторе, она компилируется нормально, в противном случае я получаю ошибку samme на выходе Delmia. Почему это?

Если я найду решение, позволяющее скомпилировать его с помощью командной строки, не находясь в режиме администратора, Delmia не сможет ли это сделать? Как я могу этого добиться?

Дополнительная информация: я установил Visual Studio не на мой основной диск, а Windows SDK находится в программных файлах на моем основном диске. Имеет ли это какое-либо значение?

Edit: для всех, у кого есть эта проблема в Delmia, я бы предложил просто установить другой совместимый компилятор в качестве временного решения. Я установил MinGW, который работает хорошо, хотя этот дополнительный компилятор занимает 500 МБ. Помните, что он должен быть 64-битным. Я использовал "MingW-W64-builds" от http://mingw-w64.org/doku.php/download

...