Я могу скомпилировать файл C++ с помощью Visual Studio, но я хочу скомпилировать его с помощью Mingw(gcc/g++).
Примечание: я мало что знаю о wxWidgets.
когда я бегаю gcc main.cpp -I C:\wxWidgets-3.2.5\include\msvc -I C:\wxWidgets-3.2.5\include -L C:\wxWidgets-3.2.5\lib\vc_x64_lib -mwindows
это дает мне это сообщение об ошибке
In file included from C:\wxWidgets-3.2.5\include/wx/platform.h:159:0, from C:\wxWidgets-3.2.5\include/wx/defs.h:45, from C:\wxWidgets-3.2.5\include/wx/wx.h:14, from main.cpp:1: C:\wxWidgets-3.2.5\include\msvc/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 C:\wxWidgets-3.2.5\include/wx/platform.h:159:0, from C:\wxWidgets-3.2.5\include/wx/defs.h:45, from C:\wxWidgets-3.2.5\include/wx/wx.h:14, from main.cpp:1: C:\wxWidgets-3.2.5\include\msvc/wx/setup.h:142:27: fatal error: ../../../lib/vc_lib/msw/wx/setup.h: No such file or directory #include wxSETUPH_PATH_STR ^ compilation terminated.
но я не хочу использовать студию Microsoft Visual. я предпочитаю компилировать его с помощью Mingw(g++/gcc) или из make-файла
код, который я пытался скомпилировать, — это простая программа «Hello World», которую я получил из Интернета. он отлично работает с Microsoft Visual Studio, когда я пытался скомпилировать.
#include <wx/wx.h>
class App : public wxApp {
public:
bool OnInit() {
wxFrame* window = new wxFrame(NULL, wxID_ANY, "GUI Test", wxDefaultPosition, wxSize(600, 400));
wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
wxStaticText* text = new wxStaticText(window, wxID_ANY, "Well Done!\nEverything seems to be working",
wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
text->SetFont(wxFont(20, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL));
sizer->Add(text, 1, wxALIGN_CENTER);
window->SetSizer(sizer);
window->Show();
return true;
}
};
wxIMPLEMENT_APP(App);





Это описано в руководстве. Обратите внимание, что обычно использование какой-либо системы сборки (autoconf, CMake, ...) предпочтительнее написания make-файлов вручную, особенно в Windows, где wx-config недоступен.
Кроме того, было бы интересно узнать, как вы пришли к командной строке, которую использовали, в частности, используя явно (или, как я надеюсь) специфичный для MSVC путь включения include\msvc с компилятором, отличным от MSVC.
Для удобства вы можете скачать предварительно скомпилированные двоичные файлы с официального сайта wxWidgets. Обратите внимание, что вам необходимо загрузить их для gcc для конкретной версии. Если вы хотите использовать файлы Makefile, написанные вручную, вам необходимо использовать следующие команды:
g++ main.cpp -pipe -I C:\wxWidgets-3.2.5\include -I C:\wxWidgets-3.2.5\lib\gcc810_x64_dll\mswu -L C:\wxWidgets-3.2.5\lib\gcc810_x64_dll -mwindows -lwxbase32u -lwxmsw32u_core