https://bugs.winehq.org/show_bug.cgi?id=50670
Bug ID: 50670 Summary: wineg++ cannot compile programs using shobjidl.h as of Wine 6.2 Product: Wine Version: 6.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: mail@robbertvanderhelm.nl Distribution: ---
As of commit 0c19e2e487d36a89531daf4897c0b6390d82a843 shobidjl.h now contains a field named 'template', which is a C++ keyword and thus breaks compilation of any code that includes this header when using wineg++. The exact offending line can be found here:
https://github.com/wine-mirror/wine/commit/0c19e2e487d36a89531daf4897c0b6390...
Please let me know if any more information on this issue is needed!
https://bugs.winehq.org/show_bug.cgi?id=50670
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jzeng@codeweavers.com Component|-unknown |shell32 Regression SHA1| |0c19e2e487d36a89531daf4897c | |0b6390d82a843
https://bugs.winehq.org/show_bug.cgi?id=50670
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=50670
Marcos Gutiérrez Batz sacrom@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sacrom@gmail.com
--- Comment #1 from Marcos Gutiérrez Batz sacrom@gmail.com --- I've been hit by the same problem, the problem lies in the interface IFileOperation of the shobjidl.idl, the function:
HRESULT NewItem([in] IShellItem *folder, [in] DWORD attributes, [in, unique, string] LPCWSTR name, [in, unique, string] LPCWSTR template, [in, unique] IFileOperationProgressSink *sink);
While the Windows SDK file counterpart:
HRESULT NewItem( [in] IShellItem *psiDestinationFolder, [in] DWORD dwFileAttributes, [in, unique, string] LPCWSTR pszName, [in, unique, string] LPCWSTR pszTemplateName, [in, unique] IFileOperationProgressSink *pfopsItem);
This is show with just this simple test:
$ cat test.c
#include <shlobj.h>
void main(void) { }
$ winegcc test.c $ wineg++ test.c In file included from /opt/wine-devel/include/wine/windows/shlobj.h:27, from test.c:2: /opt/wine-devel/include/wine/windows/shobjidl.h:16504:17: error: expected ‘,’ or ‘...’ before ‘template’ 16504 | LPCWSTR template, | ^~~~~~~~ test.c:4:1: error: ‘::main’ must return ‘int’ 4 | void main(void) | ^~~~ winegcc: /usr/bin/g++ failed $
https://bugs.winehq.org/show_bug.cgi?id=50670
Jactry Zeng jactry92@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |27040a4f009f1e35a540882dc15 | |0d14431de64a8 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #2 from Jactry Zeng jactry92@gmail.com --- Fixed by https://source.winehq.org/git/wine.git/?a=commit;h=27040a4f009f1e35a540882dc... .
https://bugs.winehq.org/show_bug.cgi?id=50670
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.3.