
Sou um novo usuário do Visual Studio 2017 e estou tendo dificuldades para criar um projeto simples do HelloWorld. Aqui está o que estou fazendo:
Arquivo > Novo > Projeto...
eu escolhoProjeto Vazio. Eu renomeio o projetoOlá Mundoe mudo o local do local padrão na minha unidade c para um local dentro da minha pasta Dev, que está na minha unidade d. Depois que o projeto é criado, clico com o botão direitoArquivos Fontee adicione um arquivo chamadoPrincipal.cpp, contendo o código mais simples:
int main() {
return 0;
}
No entanto, quando clico com o botão direitoOlá MundoeConstruir, recebo a seguinte saída:
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 ==========
Porém, só recebo esse erro se alterar o local do projeto. Se eu usar o diretório padrão,c:\meu_usuário\Fonte\reposentão o projeto é construído sem nenhum problema. Mas gostaria de saber como corrigir esse erro, pois não quero manter meus arquivos na unidade C. Alguém mais passou por esse problema que possa saber como corrigi-lo? Porque estou perdido.
EDITARDe acordo com um artigo do Microsoft Docs sobre o erro fatal C1083:
Uma causa adicional desse erro é a distinção entre maiúsculas e minúsculas no sistema de arquivos, seja para o nome do arquivo ou caminho, se a distinção entre maiúsculas e minúsculas por diretório estiver habilitada e os diretórios tiverem sido criados pelo subsistema Windows para Linux.
Este é o meu caso. Quando comprei este laptop, baixei todos os meus arquivos, incluindo minha pasta Dev, do meu PC usando rsync no Window Subsystem para Linux. Portanto este diretório não foi criado pelo Windows, mas pelo Ubuntu rodando em WSL. Essa pode ser a causa do problema, mas ainda não sei como corrigi-lo. Mesmo que diferencie maiúsculas de minúsculas, estou digitando a pasta com a caixa correta, então não sei por que não funcionaria.
RESOLVIDOCaso alguém encontre esse problema, foi um problema com o WSL. Eu nunca teria adivinhado isso. Se quiser usar uma pasta que foi criada com WSL para seu projeto do Visual Studio, você deverá desabilitar a distinção entre maiúsculas e minúsculas:
- Execute o Windows Powershell como administrador
- Execute o comando:
arquivo fsutil.exe setCaseSensitiveInfo d:\my_wsl_created_folder desabilitar
Isso resolveu o problema para mim!