Это мой первый опыт работы с миром окон за более чем десятилетие, так что это может быть простым решением.Но я полностью застрял.
Скажем, у вас есть исходный каталог,
mkdir helloworld && touch helloworld/helloworld.{h.cpp}
helloworld.cpp:
#include "helloworld.h"
using namespace std;
int main()
{
cout << "Hello, World!" << endl;
return 0;
}
helloworld.h:
#include <iostream>
Теперь у вас есть команда компиляции, которая выглядит следующим образом:
cl.exe helloworld/helloworld.cpp
Мое понимание стандартного поведения состоит в том, что поиск препроцессора для заключенных в кавычки включает в себя look
- В том же каталогеисходного файла
- ранее открытые файлы
- указанное значение - я включаю пути
- пути, найденные в среде INCLUDE
Теперь это очевиднопопадает в первую категорию, но я неизменно получаю:
Z:\Projects\temp>cl helloworld\helloworld.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 16.00.30319.01 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
helloworld.cpp
helloworld\helloworld.cpp(1) : fatal error C1083: Cannot open include file: 'helloworld.h': No such file or directory
Итак, когда я набирал это, у меня возникла случайная мысль ... "а вдруг это потому, что мой проект находится в общей файловой системе?".
Я копирую тот же проект в C: \, и он прекрасно компилируется!
Кто-нибудь знает, что здесь происходит?