Из SSH вы можете запустить:
php -i | grep Soap
, который будет возвращать что-то вроде:
Soap Client => enabled
Soap Server => enabled
Вы можете использовать форвардные объявления в файлах заголовков, чтобы обойти циклические зависимости, если у вас нет зависимостей реализации в заголовках. В Window.h добавьте эту строку:
class App;
В App.h добавьте эту строку:
class Window;
Добавьте эти строки перед определениями классов.
Затем в исходные файлы вы можете включить заголовки для фактического класса определения.
Если определения вашего класса ссылаются на члены другого класса (например, во встроенных), то их необходимо переместить в исходный файл (больше не встроенные).
Форвардное объявление - это правильный путь.
Если вы используете указатели \ ссылку в заголовке класса, тогда для вас подойдет прямое объявление с обеих сторон.
Если вы создаете объект как член класса, вы должны включить сам заголовок. (Прямое объявление не сработает, поскольку компилятору требуется определение класса для определения размера.)
Обратитесь к часто задаваемым вопросам по C ++ для решения такой проблемы:
Если вы создаете Window как член, включите заголовок Window в App, но в В то же время Window не должен включать заголовок приложения. Используйте там комбинацию указателя на приложение и предварительного объявления.