..msw \ bitmap. cpp (842): ошибка assert "" image.IsOk () "" в wxBitMap :: CreateFromImage (): недопустимое изображение [C ++] [wxWidgets 3.1.3] - PullRequest
0 голосов
/ 21 марта 2020

Следующий код компилируется и работает нормально под Linux:

https://i.postimg.cc/B6PPn01C/Screenshot-20200320-184650.png

staticboxsizer_Logo = new wxStaticBoxSizer(wxHORIZONTAL, Panel1, wxEmptyString);
    staticbitmap_logo = new wxStaticBitmap(Panel1, ID_STATICBITMAP2, wxBitmap(wxImage(_T("C:\Logo_0.png"))), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICBITMAP2"));
    staticboxsizer_Logo->Add(staticbitmap_logo, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);[/code]

Под Windows он также компилируется нормально, однако когда Я запускаю .exe, я получаю следующую ошибку:

C:\wxWidgets\src\msw\bitmap.cpp(842): assert ""image.IsOk()"" failed in wxBitMap::CreateFromImage(): invalid image

Что я могу сделать, чтобы lo go (265x46 px) также хорошо показывал при Windows?

Спасибо

1 Ответ

1 голос
/ 21 марта 2020

Вам необходимо использовать правильный путь к файлу.

"/mnt/data/VMware/VM-Shared/Logo_0.png" не является допустимым путем под Windows.

...