Я совершенно новый пользователь Visual Studio 2017 и у меня возникли трудности с созданием простого проекта HelloWorld. Вот что я делаю:
Файл > Новый > Проект...
я выбираюПустой проект. Я переименовываю проектПривет, мири я меняю местоположение с местоположения по умолчанию на моем диске c на местоположение внутри моей папки Dev, которая находится на моем диске d. После того, как проект создан, я нажимаю правой кнопкой мышиИсходные файлыи добавьте файл под названиемMain.cpp, содержащий простейший код:
int main() {
return 0;
}
Однако, когда я нажимаю правую кнопку мышиПривет, мириСтроить, я получаю следующий вывод:
1>------ Build started: Project: HelloWorld, Configuration: Debug Win32 ------
1>Main.cpp
1>c1xx : fatal error C1083: Cannot open source file: 'Main.cpp': No such file or directory
1>Done building project "HelloWorld.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Однако я получаю эту ошибку только если я меняю Расположение проекта. Если я использую каталог по умолчанию,c:\my_user\Source\reposзатем проект собирается без проблем. Но я хотел бы знать, как исправить эту ошибку, потому что я не хочу хранить свои файлы на диске С. Кто-нибудь еще сталкивался с этой проблемой и может знать, как ее исправить? Потому что я в растерянности.
РЕДАКТИРОВАТЬСогласно статье в документации Microsoft о фатальной ошибке C1083:
Дополнительной причиной этой ошибки является чувствительность к регистру в файловой системе (как для имени файла, так и для пути), если чувствительность к регистру включена для каждого каталога и каталоги были созданы подсистемой Windows для Linux.
Это мой случай. Когда я купил этот ноутбук, я скачал все свои файлы, включая папку Dev, со своего ПК с помощью rsync в подсистеме Windows для Linux. Так что этот каталог был создан не Windows, а Ubuntu, работающей на WSL. Это может быть причиной проблемы, но я все еще не знаю, как ее исправить. Даже если это чувствительно к регистру, я ввожу папку с правильным регистром, поэтому я не знаю, почему это не сработает.
РЕШЕНОЕсли кто-то еще столкнется с этой проблемой, это была проблема с WSL. Я бы никогда не догадался об этом. Если вы хотите использовать папку, созданную с помощью WSL для вашего проекта Visual Studio, вам нужно отключить чувствительность к регистру:
- Запустите Windows Powershell от имени администратора.
- Выполните команду:
Файл fsutil.exe setCaseSensitiveInfo d:\my_wsl_created_folder отключить
Это решило мою проблему!