Как настроить wxWidgets для Windows и CodeLite?

Пробую новую установку. Я на ноутбуке с 32-битной Windows 8 Pro. Я скачал MinGW-builds GCC 4.8.1. Я использовал его для компиляции LLVM и CLang (3.4+ из SVN-копии ствола). Оба они находятся в моем PATH.

Я скачал CodeLite 5.2, который поставляется с копией MinGW/GCC 4.7.1. У меня работает чистый пример учебника по консоли, но я не могу заставить работать пример wxWidgets. (Это Быстрый старт.) Я скачал и установил wxWidgets. (Всегда хороший первый шаг.) Я построил его с помощью MinGW-4.8.1. Я прочитал заметки об ошибках и добавил две (сначала локальные, теперь системные) переменные среды: WXWIN в "C:\wxWidgets-2.9.5" и WXCFG в "..\build\msw\gcc_mswud". (Сначала я думал, что WXCFG будет абсолютным путем, но он основан на «%WXWIN%\lib\».) Я переместил свои сборки MinGW и LLVM из «C:\Program Files» в «C:\», чтобы избежать пробелов в их пути.

Вот (все еще) вывод ошибки, когда я строю с помощью F7:

C:\WINDOWS\system32\cmd.exe /c "mingw32-make.exe -j 2 -e -f  Makefile"
"----------Building project:[ Test1_2 - Debug ]----------"

Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.

Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.

Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.

Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
mingw32-make.exe[1]: Entering directory `C:/Users/Daryle/Documents/CodeLite/Test1/Test1_2'
g++: error: wx-config: No such file or directory
g++: error: Error:: Invalid argument
g++: error: No: No such file or directory
g++: error: valid: No such file or directory
g++: error: setup.h: No such file or directory
g++: error: of: No such file or directory
g++: error: wxWidgets: No such file or directory
g++: error: has: No such file or directory
g++: error: been: No such file or directory
g++: error: found: No such file or directory
g++: error: at: No such file or directory
g++: error: location:: Invalid argument
g++: error: C:\wxWidgets-2.9.5\lib\..\build\msw\gcc_mswud\wx\setup.h: No such file or directory
g++: error: wx-config: No such file or directory
g++: error: Error:: Invalid argument
g++: error: No: No such file or directory
g++: error: valid: No such file or directory
g++: error: setup.h: No such file or directory
g++: error: of: No such file or directory
g++: error: wxWidgets: No such file or directory
g++: error: has: No such file or directory
g++: error: been: No such file or directory
g++: error: found: No such file or directory
g++: error: at: No such file or directory
g++: error: location:: Invalid argument
g++: error: C:\wxWidgets-2.9.5\lib\..\build\msw\gcc_mswud\wx\setup.h: No such file or directory
mingw32-make.exe[1]: *** [Debug/test1_2_frame.o.d] Error 1
mingw32-make.exe[1]: *** Waiting for unfinished jobs....
mingw32-make.exe[1]: *** [Debug/test1_2_app.o.d] Error 1
Test1_2.mk:102: recipe for target `Debug/test1_2_frame.o.d' failed
Test1_2.mk:94: recipe for target `Debug/test1_2_app.o.d' failed
mingw32-make.exe[1]: Leaving directory `C:/Users/Daryle/Documents/CodeLite/Test1/Test1_2'
mingw32-make.exe: *** [All] Error 2
Makefile:4: recipe for target `All' failed
0 errors, 0 warnings

В какой-то момент шаг компилятора выдал сообщение об ошибке, а следующий шаг интерпретировал его как фактические параметры! (Должно было отправлять ошибку на stderr вместо stdout?)

Обновить

Перейдя к моей реальной работе, я получил ошибки и заметил, что CodeLite по-прежнему использует MinGW 4.7.1, поставляемый с загрузкой CodeLite, вместо использования загруженной мной версии 4.8.1. Я, вероятно, накосячил, изменив каталоги поиска на свой 4.8.1. Я думаю, что я собираюсь стереть все и начать сначала....


person CTMacUser    schedule 26.07.2013    source источник
comment
Это сработало? Я получаю ту же ошибку   -  person Gary    schedule 21.03.2016


Ответы (2)


Инструмент wx-config.exe для Windows использует 2 переменные среды: WXCFG и WXWIN. Вам необходимо указать их, чтобы wx-config.exe мог найти файлы wx-config. Рекомендуемый способ - установить их в среде IDE, а не в системе.

Для этого в главном меню перейдите в: Настройки -> Переменные среды.

и добавьте 2 записи:

WXWIN=\Path\to\wxWidgets\Folder
WXCFG=gcc_dll\mswu

Кроме того, вы упомянули, что codelite использует GCC4.7.1, а не ваш 4.8.1. Вы должны знать, что при работе с GCC в Windows все ваши компоненты должны быть собраны с использованием одной и той же версии GCC. поэтому убедитесь, что вы не используете wxWidgets, которые мы (команда codelite) предоставляем, так как он был собран с GCC4.7.1, иначе вы можете получить некоторые странные сбои.

Чтобы заставить codelite использовать другой GCC, просто измените PATH внутри codelite:

Настройки -> Переменные среды

PATH=\Path\To\MinGW-4.8.1\bin;$PATH

Эран

person Eran    schedule 27.07.2013
comment
У меня работает часть MinGW-4.8.1-Builds, но не часть wxWidgets. CodeLite использует настройку WXWIN, но игнорирует часть WXCFG, как будто ее там нет. (Из сообщений об ошибках я знаю, что он использует WXWIN.) Я даже убрал эти две переменные из пользовательской/системной панели управления. Это связано с тем, что для компиляции wxWidgets требуется WXCFG=gcc_lib\mswud вместо вашего (и CodeLite) значения по умолчанию? - person CTMacUser; 01.08.2013

Сообщение об ошибке, по-видимому, указывает на то, что переменная среды WXCFG не установлена. Вы перезапустили IDE после ее установки? Помните, что редактирование переменных среды не меняет их для уже запущенных процессов.

person VZ.    schedule 26.07.2013
comment
Да, несколько раз, после каждой переделки. - person CTMacUser; 26.07.2013