|
|
Home » Community » U++ community news and announcements » Win32 release clang now 18.1.5
|
|
Re: Win32 release clang now 18.1.5 [message #60571 is a reply to message #60568] |
Sat, 11 May 2024 17:40   |
Tom1
Messages: 1302 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi,
Thanks Mirek!
I came across a compilation issue with gdal after switching to this new clang. For some reason, open/close/read/write cannot be found -- as if <io.h> was not read. Then got fed up with tracing the includes where they end up and simply added those declarations to the failing component in gdal, and it worked.
Another (unrelated) issue I'm having is:
...
GUI1.exe
FAILED: mt.exe -manifest manifest.xml -outputresource:C:\upp-git\out\p5\CLANG.Blitz.Gui\GUI1.exe;1
C:\upp-git\out\p5\CLANG.Blitz.Gui\GUI1.exe (24372736 B) linked in (0:00.20)
As most of you probably already know, mt.exe is for adding manifest to the exe and works with MSBT22x64. However, as it turned out, CLANG does not have mt.exe like MSBT does. So far I have gathered that the manifest is supposed to be compiled in as a resource in some special way, but have not figured it out yet how it is actually done. So, if you have any ideas or better yet, solutions, I'm all ears...
Thanks and best regards,
Tom
|
|
|
Re: Win32 release clang now 18.1.5 [message #60574 is a reply to message #60571] |
Sun, 12 May 2024 14:12   |
 |
mirek
Messages: 14256 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Sat, 11 May 2024 17:40Hi,
Thanks Mirek!
I came across a compilation issue with gdal after switching to this new clang. For some reason, open/close/read/write cannot be found -- as if <io.h> was not read. Then got fed up with tracing the includes where they end up and simply added those declarations to the failing component in gdal, and it worked.
In the queue..
Quote:
Another (unrelated) issue I'm having is:
...
GUI1.exe
FAILED: mt.exe -manifest manifest.xml -outputresource:C:\upp-git\out\p5\CLANG.Blitz.Gui\GUI1.exe;1
C:\upp-git\out\p5\CLANG.Blitz.Gui\GUI1.exe (24372736 B) linked in (0:00.20)
As most of you probably already know, mt.exe is for adding manifest to the exe and works with MSBT22x64. However, as it turned out, CLANG does not have mt.exe like MSBT does. So far I have gathered that the manifest is supposed to be compiled in as a resource in some special way, but have not figured it out yet how it is actually done. So, if you have any ideas or better yet, solutions, I'm all ears...
Thanks and best regards,
Tom
Confused here. CLANG builder code does not seem to be using mt.exe. GUI1 is tutorial GUI1 example?
Mirek
|
|
|
Re: Win32 release clang now 18.1.5 [message #60575 is a reply to message #60574] |
Sun, 12 May 2024 15:09   |
Tom1
Messages: 1302 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi Mirek,
Sorry for my confusing naming with GUI1.exe. It's just one of my own programs which I renamed for the forum post.
And no, clang builder does not call it. It's a post compilation processing step needed to attach the manifest. The issue just surfaced as I tested if my program(s) can be compiled with the new clang...
Anyway, in most cases I use the following or similar manifest bundled to the exe using Microsoft's mt.exe:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!--app support for Windows Vista -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> <!--app support for Windows 7 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> <!--app support for Windows 8 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <!--app support for Windows 8.1 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> <!--app support for Windows 10, 11 -->
</application>
</compatibility>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
mt.exe does it for MSBT22x64, but I do not know how this is supposed to be done with clang tool chain.
Best regards,
Tom
[Updated on: Sun, 12 May 2024 15:12] Report message to a moderator
|
|
|
|
Re: Win32 release clang now 18.1.5 [message #60577 is a reply to message #60576] |
Mon, 13 May 2024 09:23   |
Tom1
Messages: 1302 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi,
Surely I can use MSBT as is, like I have for many years now, but I'm constantly looking at CLANG to potentially replace it. (Just to make sure I have an alternative long term solution.)
Luckily, I just found out how to embed the manifest into the exe using resource compiler instead of mt.ext. Just append this line to your .rc file and provide the manifest.xml in the same main package directory as the .rc file exists in:
1 RT_MANIFEST "manifest.xml"
That's it! This works with both CLANG and MSBT.
Best regards,
Tom
|
|
|
|
Re: Win32 release clang now 18.1.5 [message #60579 is a reply to message #60578] |
Mon, 13 May 2024 14:21  |
Tom1
Messages: 1302 Registered: March 2007
|
Ultimate Contributor |
|
|
Well, it's based on the plugin you originally created years ago (before UppHub) and thereafter I have updated it with some later gdal release and tweaked it to get it work and provide the format support I needed. It has evolved into a complex mess... So, this is not really your problem.
The file that now fails on open/close/read/write is:
gdal/ogr/ogrsf_frmts/geojson/libjson/json_util.c
If you really wish have a look, I can send you the package over wetransfer...
Best regards,
Tom
|
|
|
Goto Forum:
Current Time: Wed Apr 30 05:20:52 CEST 2025
Total time taken to generate the page: 0.04374 seconds
|
|
|