Warn when not using comctl32.dll v6 (Issue #22964)

78 views
Skip to first unread message

VZ

unread,
Nov 12, 2022, 12:12:01 PM11/12/22
to wx-...@googlegroups.com, Subscribed

Ideally we'd like to get rid of all code used only to support the old, pre-XP (!), comctl32.dll versions, but we can't do it as long as we still support applications not using the manifest.

The plan is to start warning about this in 3.3.0 and, if there are not too many complaints about it, make this warning an error and remove support for the old DLL in 3.3.1.

See also this thread.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964@github.com>

VZ

unread,
Dec 8, 2022, 8:24:15 PM12/8/22
to wx-...@googlegroups.com, Subscribed

Done now, let's see if anybody complains.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964/1343713646@github.com>

VZ

unread,
Dec 8, 2022, 8:24:35 PM12/8/22
to wx-...@googlegroups.com, Subscribed

Closed #22964 as completed.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issue/22964/issue_event/7994385007@github.com>

magical-obama

unread,
Jan 5, 2023, 1:20:42 PM1/5/23
to wx-...@googlegroups.com, Subscribed

Hi!
I got the message that @vadz added a few commits ago about the manifest not being added. This is probably the wrong place to be asking, but I searched for "wxwidgets manifest" and all sorts of other things. I didn't get any meaningful results. I simply don't know what this manifest is used for, how to add it and how it should look. I'm simply lost with this message everytime I start my app.

Please help!

Max


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964/1372573051@github.com>

PB

unread,
Jan 5, 2023, 2:11:24 PM1/5/23
to wx-...@googlegroups.com, Subscribed

@magical-obama, this is odd. If you are using MSVC, the manifest will be created and linked in automatically.

Regardless of the compiler, you are supposed to include <wx/wx.rc> in your resource file (which every application must have, at least for the icons), this will by default result in including the application manifest with GCC or clang. So, the simplest solution would be to add the above-mentioned wx.rc to the .rc file in your project.

The wxWidgets documents this e.g. here.

BTW, application manifests have been in use since 2001, introduced with Windows XP. Without them, the application UI would look very odd.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964/1372624270@github.com>

magical-obama

unread,
Jan 5, 2023, 2:45:40 PM1/5/23
to wx-...@googlegroups.com, Subscribed

Thank you, @PBfordev, for the quick reply!
My situation is the following:

  • Currently I'm working on Windows 11 with CLion
  • My project is CMake based (since wxWidgets is cross-platform, why not)
  • CMake Toolkit: Default for CLion and Included - Ninja
  • I included wxWidgets as a git submodule
  • In the main CMakeLists I use add_subdirectory() and set wxBUILD_SHARED to OFF and wxBUILD_PRECOMP to OFF (It didn't configure at all with precompiled headers enabled)
  • Linking and Compiling works fine
    My main CMakeLists.txt
cmake_minimum_required(VERSION 3.24)
project(ContactBook)

set(CMAKE_CXX_STANDARD 17)

set(wxBUILD_SHARED OFF CACHE BOOL "")
set(wxBUILD_PRECOMP OFF CACHE BOOL "")
add_subdirectory(lib/wxWidgets)
add_executable(ContactBook main.cpp)
target_link_libraries(ContactBook wx::core wx::base)

main.cpp includes the default Hello World example from the website, unchanged

Regardless of the compiler, you are supposed to include <wx/wx.rc> in your resource file (which every application must have, at least for the icons), this will by default result in including the application manifest with GCC or clang. So, the simplest solution would be to add the above-mentioned wx.rc to the .rc file in your project.

I didn't add any .rc files until now, wanted to stay as much cross-platform as possible

Thank you for your help!


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964/1372656324@github.com>

PB

unread,
Jan 5, 2023, 2:56:13 PM1/5/23
to wx-...@googlegroups.com, Subscribed

Your project needs to have an .rc file, this has nothing to do with not being cross-platform.

I recommend looking at what the minimal sample CMakeLists.txt does:
https://github.com/wxWidgets/wxWidgets/blob/0016bdc308df63f892682f4f1f77a40ee7224da3/samples/minimal/CMakeLists.txt#L48-L51
and at the sample.rc

If you require further assistance, please use one of the communication channels for user issues (forum, wx-users, SO....), the Issue is not the best place for it.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964/1372666678@github.com>

VZ

unread,
Jan 5, 2023, 3:13:52 PM1/5/23
to wx-...@googlegroups.com, Subscribed

I wonder if we can make this message more helpful by checking if there are any resources in the application at all and telling people to add an .rc file if there are none...

Something that would be simple to do would be to check for wxICON_AAA existence and tell people to include wx/msw/wx.rc if it's not found, perhaps we should do at least this, even if this wouldn't catch all the problems.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964/1372688507@github.com>

magical-obama

unread,
Jan 5, 2023, 3:41:00 PM1/5/23
to wx-...@googlegroups.com, Subscribed

Thank you very much, the issue is resolved now!!

Thanks!




From: PB ***@***.***>
Sent: Donnerstag, 5. Jänner 2023 20:56
To: wxWidgets/wxWidgets ***@***.***>
Cc: magical-obama ***@***.***>; Mention ***@***.***>
Subject: Re: [wxWidgets/wxWidgets] Warn when not using comctl32.dll v6 (Issue #22964)



Your project needs to have an .rc file, this has nothing to do with not being cross-platform.

I recommend looking at what the minimal sample CMakeLists.txt does:
https://github.com/wxWidgets/wxWidgets/blob/0016bdc308df63f892682f4f1f77a40ee7224da3/samples/minimal/CMakeLists.txt#L48-L51
and at the sample.rc <https://github.com/wxWidgets/wxWidgets/blob/master/samples/sample.rc>

If you require further assistance, please use one of the communication channels for user issues (forum, wx-users, SO....), the Issue is not the best place for it.


Reply to this email directly, view it on GitHub <https://github.com/wxWidgets/wxWidgets/issues/22964#issuecomment-1372666678> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARLDBURMYO4O5NMTRG6GNLTWQ4RNTANCNFSM6AAAAAAR6M522A> .
You are receiving this because you were mentioned. <https://github.com/notifications/beacon/ARLDBUT7UC7FBMUSWTGM6YTWQ4RNTA5CNFSM6AAAAAAR6M522CWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSR2E5TM.gif> Message ID: ***@***.*** ***@***.***> >


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/22964/1372719972@github.com>

Reply all
Reply to author
Forward
0 new messages