Здравствуйте, я пытаюсь собрать wxWidgets 3.0 для использования с блоками кода. Когда я запускаю команду, приведенную в руководстве
mingw32-make -f makefile.gcc BUILD = выпуск SHARED = 1 монолитный = 1 юникод = 1 CXXFLAGS = -fno-keep-inline-dllexport
Там говорится об ошибке include \ include / setup / .h: 121: 27: фатальная ошибка:
../../../lib/vc_x64_lib/mswu/wx/setup.h
Это также говорит
C:\wxWidgets-3.0.4\build\msw>mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport
if not exist ..\..\lib\gcc_dll\mswu mkdir ..\..\lib\gcc_dll\mswu
gcc -c -o gcc_mswudll\wxregex_regcomp.o -O2 -mthreads -DHAVE_W32API_H -DNDEBUG -I..\..\include -I..\..\lib\gcc_dll\mswu -D__WXMSW__ -D_UNICODE -MTgcc_mswudll\wxregex_regcomp.o -MFgcc_mswudll\wxregex_regcomp.o.d -MD -MP ../../src/regex/regcomp.c
In file included from ..\..\include/wx/platform.h:183:0,
from ..\..\include/wx/defs.h:27,
from ../../src/regex/regcustom.h:39,
from ../../src/regex/regguts.h:38,
from ../../src/regex/regcomp.c:33:
..\..\include/wx/setup.h:12:6: error: #error "This file should only be included when using Microsoft Visual C++"#error "This file should only be included when using Microsoft Visual C++"^
In file included from ..\..\include/wx/version.h:16:0,
from ..\..\include/wx/setup.h:19,
from ..\..\include/wx/platform.h:183,
from ..\..\include/wx/defs.h:27,
from ../../src/regex/regcustom.h:39,
from ../../src/regex/regguts.h:38,
from ../../src/regex/regcomp.c:33:
..\..\include/wx/setup.h:113:31: error: pasting "/" and "vc_x64_lib" does not give a valid preprocessing token
wxCONCAT6(../../../lib/, wxLIB_SUBDIR, /, wxTOOLKIT_PREFIX, wxSUFFIX, /wx/setup.h)
Руководство, которым я следую: http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef
Если что-то, что вы пытаетесь, все еще дает ошибки, следуйте этим инструкциям
Удалите всю папку wxWidgets, в вашем случае
C:\wxWidgets-3.0.4
Переустановите wxWidgets, даже в том же каталоге
Удалите все, что связано с вашим старым gcc (скорее всего dir и переменную PATH, см. Ниже), и загрузите более позднюю версию gcc. От Мингв 32
MinGW-получить setup.exe,
от Mingw 64 или из TDM в сочетании
32/64. Вам нужно будет установить этот компилятор по умолчанию на C :: B позже для вашего приложения.
Добавьте, если нужно, ваш mingw/bin
каталог для среды Windows PATH
вар.
Откройте окно командной строки и скопируйте&вставьте эту строку:
mingw32-make -f makefile.gcc BUILD = выпуск UNICODE = 1 USE_OPENGL = 1
CXXFLAGS = «- std = gnu ++ 11 -fno-keep-inline-dllexport»
Обратите внимание, что я удалил флаг MONOLITHIC = 1, иногда это является источником проблем. Единственным последствием является то, что вам нужно добавить в настройки вашего проекта несколько библиотек (базовых, базовых и т. Д. И в правильном порядке) вместо единственного большого. Взгляни на <wxWidgets dir>\lib
Добавить в mingw\bin
к ПУТИ это вариант. C :: B не нуждается в этом. Это командная коробка, которая нуждается в этом. Если вы не хотите загрязнять переменную PATH, вам придется добавлять ее каждый раз, когда вы открываете окно командной строки для использования компилятора:
казнить PATH=%PATH%;C:\MinGW\bin
(где MinGW — это место, где вы установили компилятор) перед использованием компилятора в этом окне команд.
Вы, должно быть, скопировали файл include/msvc/wx/setup.h
в include/wx/setup.h
вручную, нет другого объяснения этому файлу. Вы не должны этого делать, и теперь вам нужно удалить созданный вами файл и отменить любые другие изменения, которые вы, возможно, сделали, чтобы сборка работала.