Я собираю некоторые пользовательские компоненты Qt в виде статической библиотеки, но не могу пройти этап компиляции.
Мой проект структурирован следующим образом:
Root:
- .h and . cpp files of the custom Qt components
- GeneratedFiles/Debug/ <-- here the MOC compiler puts the generated moc_*.cpp files ("Debug" is automatically deducted from the build configuration, so it's Release for release builds)
Это довольно стандартная папка, но по какой-то причине компилятор не может найти только файлы moc . Все, что находится в корневой папке, просто отлично, но файлы moc не найдены. Обратите внимание: файлы moc_ генерируются просто отлично и существуют там, где они должны быть, с правильным содержанием . Проблема, похоже, заключается в оценке пути GeneratedFiles\Debug\moc_whatever.cpp
.
Интересно, что если я переместу moc-файл (скажем, moc_example.cpp
) в корневую папку и вручную адаптирую вызов к CL.exe
для компиляции moc_example.cpp
вместо GeneratedFiles\Debug\moc_example.cpp
, файл будет собран.
Я использую VS 2017 версии 15.7.1, CL является версией 19.00.24215.1 для x64, и я обновлю вопрос, если понадобятся другие подробности, просто добавьте запрос в комментарии.
Итак ... Почему компилятор говорит мне, что эти файлы не существуют?