2008-09-25 4 views
15

Быстрый поиск в Google по этой проблеме показывает, что это обычное дело, я просто не могу, чтобы жизнь меня определяла решение в моем случае.wxwidgets setup.h «нет такого файла»

У меня есть прямая установка wxWidgets 2.8.8 для Windows прямо с веб-сайта wxWidgets.

Всякий раз, когда я пытаюсь скомпилировать что-нибудь (например, приложение образца, описанного в "Первой программы для WxWidgets" - http://zetcode.com/tutorials/wxwidgetstutorial/firstprograms/) я получаю:

WX/setup.h: Нет такого файла или каталога

I 've включил и C: \ wxWidgets-2.8.8 \ include и C: \ wxWidgets-2.8.8 \ include \ wx в моем списке поиска компилятора.

Это должно быть просто - но это не так! :(

То же самое происходит, если я пытаюсь использовать IDE интегрированный с WxWidgets (например, Code :: Blocks) - и это, я бы подумал, только бы разработали коробку ...

Итак, некоторая помощь, пожалуйста ... Почему setup.h не найден?

ответ

21

wxWidgets не встроен в используемые библиотеки, когда вы «устанавливаете» установщик wxMSW. Это потому, что существует так много co nfigurable, что и является установкой, на которую вы ссылаетесь.

Если вы просто хотите, чтобы построить его с параметрами по умолчанию, как можно быстрее и двигаться дальше, вот как:

  1. Запустите «Visual Studio Command Prompt.» Вы найдете это в стартовом меню в разделе «Microsoft Visual Studio -> Инструменты Visual Studio».

  2. Изменить папку: [WXWIN корень] \ сборка \ MSW

  3. конфигурации сборки по умолчанию отладки: nmake -f makefile.vc BUILD=debug

  4. конфигурации сборки релиз по умолчанию: nmake -f makefile.vc BUILD=release

  5. Убедитесь, что библиотеки DLL в твой путь. Они будут найдены в [WXWIN root] \ lib \ vc_dll

  6. В указанной выше папке DLL вы найдете подпапки для каждого варианта сборки (инструкции, сделанные выше, отлаживаются и освобождаются.) В каждой папке варианта вы найдете папку «wx», содержащую файл «setup.h». Вы увидите, что файлы setup.h на самом деле разные для каждого варианта сборки. Это папки, которые необходимо добавить в конфигурацию сборки проекта, включая путь, один для каждого варианта сборки. Так, например, вы добавили [WXWIN root] \ lib \ vc_dll \ mswud в путь include для вашей сборки отладки, [WXWIN root] \ lib \ vc_dll \ mswu для вашей сборки релиза.

  7. Возможно построить множество других комбинаций вариантов: статические библиотеки, монолитная одиночная библиотека, не-Unicod e и т. д. См. [WXWIN root] \ docs \ msw \ install.txt для более подробных инструкций.

2

Возможно, вам нужно будет создать wxWidgets. В процессе сборки wxWidgets есть шаг после сборки, который копирует соответствующую setup.h в C: \ wxWidgets_install_dir \ include \ wx.

+3

Установщик setup.h не должен находиться в папке include/wx. Это помешает вам использовать wxWidgets с несколькими конфигурациями сборки; debug, release и т. д. Процесс сборки фактически копирует соответствующим образом сконфигурированные заголовки setup.h в папки с конфигурацией в папке [WXWIN root] \ lib. – kbluck 2008-10-16 15:57:13

5

При создании 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, отладки сборки (и = 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> 
0

Для чего-либо на работу, вы должны сначала построить основные библиотеки (wx_vC# .sln файлов). Тогда вы можете работать с остальным материалом.

Помните, что вам нужно CppUnit для создания тестовых таблиц.