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

Изпробвам нова настройка. Използвам 32-битов лаптоп с Windows 8 Pro. Изтеглих GCC 4.8.1 на MinGW-builds. Използвах го, за да компилирам LLVM & CLang (3.4+ от SVN копие на багажника). И двете са в моя ПЪТ.

Изтеглих 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