Wxwidgets setup.h "нет такого файла"
Быстрый поиск в Google по этой проблеме показывает, что это обычное дело, я просто не могу, чтобы жизнь меня определяла решение в моем случае.
У меня есть прямая установка wxWidgets 2.8.8 для Windows прямо с веб-сайта wxWidgets.
Всякий раз, когда я пытаюсь скомпилировать что-либо (например, примерное приложение, описанное в "Первые программы для wxWidgets" - http://zetcode.com/tutorials/wxwidgetstutorial/firstprograms/), я получаю:
wx/setup.h: нет такого файла или каталога
Я включил в список поиска компилятора C:\wxWidgets-2.8.8\include и C:\wxWidgets-2.8.8\include\wx.
Это должно быть просто - но это не так!: (
То же самое происходит, если я пытаюсь использовать интегрированную среду IDE с wxWidgets (например, Code:: Blocks) - и это, я бы подумал, только что разработал ящик...
Итак, помогите пожалуйста... Почему setup.h не найден?
Ответы
Ответ 1
wxWidgets не встроен в используемые библиотеки, когда вы "устанавливаете" установщик wxMSW. Это связано с тем, что существует так много настраиваемых элементов, что и относится к setup.h, на который вы ссылаетесь.
Если вы просто хотите построить его с параметрами по умолчанию как можно быстрее и двигаться дальше, вот как это сделать:
-
Запустите "Командная строка Visual Studio". Вы найдете это в стартовом меню в разделе "Microsoft Visual Studio → Инструменты Visual Studio".
-
Изменить на папку: [WXWIN root]\build\msw
-
Конфигурация отладки по умолчанию: nmake -f makefile.vc BUILD=debug
-
Конфигурация выпуска по умолчанию: nmake -f makefile.vc BUILD=release
-
Убедитесь, что библиотеки DLL находятся в вашем PATH. Они будут найдены в [WXWIN root]\lib\vc_dll
-
В упомянутой выше папке DLL вы найдете подпапки для каждого варианта сборки (приведенные выше инструкции сделаны двумя, отлаживаются и выпускаются.) В каждой папке варианта вы найдете папку "wx", содержащую "настройку".h ". Вы увидите, что файлы setup.h на самом деле разные для каждого варианта сборки. Это папки, которые нужно добавить в конфигурацию сборки проекта, включая путь, по одному для каждого варианта сборки. Так, например, вы 'd добавить [WXWIN root]\lib\vc_dll\mswud к пути включения для вашей сборки отладки, [WXWIN root]\lib\vc_dll\mswu для вашей сборки выпуска.
-
Можно создать множество других комбинаций вариантов: статические библиотеки, монолитную единую библиотеку, не-Юникод и т.д. См. [WXWIN root]\docs\msw\install.txt для более обширных инструкций.
Ответ 2
При построении wxWidgets он динамически создает файл setup.h для каждой построенной конфигурации сборки. Сгенерированные файлы setup.h хранятся в папках под папкой lib, например (Visual Studio в Windows):
c:\wxWidgets-2.9.2\lib\vc_lib\mswu
Чтобы успешно создать проект на основе wxWidgets, каждая конфигурация сборки в проекте должна быть настроена со своим собственным дополнительным каталогом Include, который указывает на соответствующую папку сборки wxWidgets в lib, такую как указанная выше.
Кроме того, дополнительный каталог Include, который является общим для всех конфигураций сборки в проекте, должен быть установлен так, чтобы указывать на главную папку wxWidget. Эта папка обычно настраивается в листе свойств пользователя, который может использоваться в любом проекте. Например:.
c:\wxWidgets-2.9.2\include
Для связывания, дополнительный каталог библиотек, общий для всех конфигураций сборки, настроен так, чтобы указывать на папку wxWidgets lib. Например:.
c:\wxWidgets-2.9.2\lib\vc_lib
И затем, специфичные для каждой конфигурации сборки, заносятся дополнительные записи зависимостей, чтобы включить библиотеки соответствующих библиотек wxWidgets. Например, для Unicode, сборка Debug (u = Unicode, d = Debug):
wxbase29ud.lib
Затем, чтобы использовать wxWidgets в вашем проекте, начните с включения сгенерированного файла setup.h:
#include "wx/setup.h"
И затем включите заголовки для конкретных функций wxWidgets. Например:.
#include <wx/slider.h>
#include <wx/image.h>
#include <wx/control.h>
Ответ 3
Вероятно, вам нужно создать wxWidgets. В процессе сборки wxWidgets есть шаг после сборки, который копирует соответствующий файл setup.h в C:\wxWidgets_install_dir\include\wx.
Ответ 4
Для чего-то вам нужно сначала собрать основные библиотеки (файлы wx_vС#.sln).
Затем вы можете работать с остальными.
Помните, что вам нужно CppUnit для компиляции тестовых файлов.