setup.h нет такого файла или каталога
Здравствуйте, я пытаюсь собрать wxWidgets 3.0 для использования с блоками кода. Когда я запускаю команду, приведенную в руководстве
mingw32-make -f makefile.gcc BUILD= выпуск SHARED=1 монолитный = 1 юникод =1 CXXFLAGS=-fno-keep-inline-dllexport
В нем говорится об ошибке: 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
2 ответа
Вы, должно быть, скопировали файл include/msvc/wx/setup.h
в include/wx/setup.h
вручную, нет другого объяснения этому файлу. Вы не должны этого делать, и теперь вам нужно удалить созданный вами файл и отменить любые другие изменения, которые вы, возможно, сделали, чтобы сборка работала.
Если что-то, что вы пытаетесь, все еще дает ошибки, следуйте этим инструкциям:
Удалите всю папку wxWidgets, в вашем случае
C:\wxWidgets-3.0.4
Переустановите wxWidgets, даже в том же каталоге
Удалите все, что связано с вашим старым gcc (скорее всего dir и переменную PATH, см. Ниже), и загрузите более позднюю версию gcc. Из Mingw 32 mingw-get-setup.exe, из Mingw 64 или из TDM вместе взятых 32/64. Вам нужно будет установить этот компилятор по умолчанию на C::B позже для вашего приложения.
Добавьте, если нужно, ваш
mingw/bin
dir к среде Windows PATH var.Откройте окно командной строки и скопируйте и вставьте эту строку:
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 - это место, где вы установили компилятор) перед использованием компилятора в этом окне команд.