setup.h нет такого файла или каталога - PullRequest
0 голосов
/ 09 октября 2018

Здравствуйте. Я пытаюсь собрать wxWidgets 3.0 для использования с блоками кода.Когда я запускаю команду, приведенную в руководстве

mingw32-make -f makefile.gcc BUILD = выпуск SHARED = 1 MONOLITHIC = 1 UNICODE = 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 ]

0 голосов
/ 09 октября 2018

Вы, должно быть, скопировали файл include/msvc/wx/setup.h в include/wx/setup.h вручную, другого объяснения этому файлу нет.Вы не должны этого делать, и теперь вам нужно удалить созданный вами файл и отменить любые другие изменения, которые вы, возможно, сделали, чтобы сборка работала.

0 голосов
/ 09 октября 2018

Если все, что вы пытаетесь, все равно дает ошибки, следуйте этим инструкциям:

  1. Удалите всю папку wxWidgets, в вашем случае C:\wxWidgets-3.0.4

  2. Переустановите wxWidgets, даже в том же каталоге

  3. Удалите все, что связано с вашим старым gcc (вероятно, каталог и переменная PATH, см. Ниже), и загрузите установочный файл.более свежая версия gcc.От Mingw 32 mingw-get-setup.exe , от Mingw 64 или от TDM в сочетании 32/64 .Для вашего приложения вам потребуется установить этот компилятор по умолчанию на C :: B позже.

  4. Добавьте, если необходимо, mingw/bin dir к среде Windows PATH var.

  5. Откройте окно командной строки и скопируйте и вставьте эту строку:

    mingw32-make -f makefile.gcc BUILD = release UNICODE = 1 USE_OPENGL = 1 CXXFLAGS = "-std = gnu ++ 11 -fno-keep-inline-dllexport "

Примечание. Я удалил флаг MONOLITHIC = 1, иногда это является источником проблем.Единственным последствием является то, что вам нужно добавить в настройки вашего проекта несколько библиотек (базовых, базовых и т. Д. И в правильном порядке) вместо единственного большого.Взгляните на <wxWidgets dir>\lib

Addin mingw\bin в PATH - вариант.C :: B не нуждается в этом.Это командная коробка, которая нуждается в этом.Если вы не хотите загрязнять переменную PATH, вам придется добавлять ее каждый раз, когда вы открываете командное окно для использования компилятора:
Выполнить PATH=%PATH%;C:\MinGW\bin (где MinGW - это то место, где вы установили компилятор) перед использованием компиляторав этом командном окне.

...