Which one is the official Qt SDK (C++)? - c++

I found a few websites to download the Qt SDK:
Nokia.com
Qt-Project.org
Digia.com
I can't guess which one is the official SDK. The one from Nokia is even above 1GB, but the one from Qt-Project is only a few hundred MB. And the last one from Digia requires a purchase.

Nokia used to own Qt, so that was the official place to get it.
qt-project.org is where you will find the open source licensed versions and source code.
The commercial part was sold to Digia. If you want a commercial license, that would be your location.
Basically ignore the Nokia stuff now, and choose the appropriate package for your needs, whether it is just the libraries, or the complete SDK including Qt Creator and the extra dev tools.

The Qt SDK delivers a complete toolset for Symbian, MeeGo, and desktop apps. It's a bundle package for various platforms. Old versions from Nokia.
This is the open source version. Each platform in a different package.
This is the commercial version from Digia.com.
If you are using open source, (2) is the official version.

Related

where can I find the project to build DirectShow BaseClasses?

I am working on a software product that goes waaaay back. Part of our source code is a project that builds baseclasses. This is supposedly a project that ships with the Windows SDK and is used for developing apps that reference DirectShow.
Unfortunately the version we have checked in to our repository is out of date and issues many warnings when we build (all related to warning C4996: 'GetVersionExW': was declared deprecated).
Personally, I cannot find any information about how to find the newest (or indeed any) version of this little nugget of Windows goodness. As recently as a few days ago Microsoft Learn published a tutorial about this very topic (https://learn.microsoft.com/en-us/windows/win32/directshow/directshow-base-classes). But, it is essentially useless.
For example, if I click here: https://learn.microsoft.com/en-us/windows/win32/directshow/using-the-directshow-base-classes it tells me:
The base class library is provided as a SDK sample in the Microsoft
Windows Software Development Kit (SDK)
(https://go.microsoft.com/fwlink/p/?linkid=62332). The exact location
depends on the version of the SDK that you have installed, but the
relative path is:
(SDK samples root)\DirectShow\BaseClasses
I have Visual Studio 2022 installed and there is no such path in its directory tree, nor in C:\Program Files (x86)\Windows Kits. However, if I click on the link quoted, it sends me to a page that basically tells me that all I need to do to get the Windows SDK is download Visual Studio. Hmmmm....
Does anyone know how to get a contemporary version of the DirectShow base classes? Microsoft is not being very helpful on this point.
This is a classic Microsoft: Moving things around but failing to update references.
If you navigate to DirectShow sample apps, you'll find the link to the new GitHub home under Windows-classic-samples/Samples/Win7Samples/multimedia/directshow/, including the baseclasses directory.
Since you are explicitly asking for a "contemporary" version of the DirectShow base classes, that's what the GitHub repository contains. They haven't been (to my knowledge) updated since. DirectShow is in maintenance mode, and Microsoft encourage clients to use more recent technologies instead (such as Microsoft Media Foundation or the Windows Runtime types under the Windows.Media.Capture namespace).
For this reason I copied the directshow baseclasses and included them in the project, when I implemented GraphStudioNext. I didn't touch the project in a while but maybe this helps: https://github.com/cplussharp/graph-studio-next/tree/master/baseclasses
PS: I just saw, Roman has a more updated version of the base classes: https://alax.info/blog/2157

DirectX SDK folder missing folders

My application requires Microsoft DirectX June (2010)/lib/x86 however the only things that appears when opening the folder are DirectX Utility folders.
My theory is that the download must have been updated or something because when I downloaded Detours again the files were different.
Anyone know how to get the lib file?
The legacy DirectX SDK is available from download from the Microsoft Downloads site. The self-extracting EXE itself is now SHA-256 signed, but the content is unchanged from the June 2010 release.
http://go.microsoft.com/fwlink/?LinkId=226640
The legacy DirectSetup REDIST image is available here:
http://go.microsoft.com/fwlink/p/?LinkId=159853
http://go.microsoft.com/fwlink/?LinkID=194352
The self-extracting EXE, DSETUP EXEs/DLLs, and CABS are now SHA-256 signed, but the content is unchanged from the April 2011 refresh.
Keep in mind there are numerous known issues with these old bits. In particular, your original report sounds like you may have hit this issue:
https://walbourn.github.io/known-issue-directx-sdk-june-2010-setup-and-the-s1023-error/
https://learn.microsoft.com/en-US/troubleshoot/windows/win32/s1023-error-when-you-install-directx-sdk
Finally, if you are trying to use the legacy DirectX SDK with VS 2012 or later, the integration instructions are different. See https://learn.microsoft.com/en-us/windows/win32/directx-sdk--august-2009
Note that you really shouldn't need to use the legacy DirectX SDK at all.
The Windows SDK already includes the include headers and link libraries for d3d9.lib, d3d10.lib, d3d11.lib, dxgi.lib, dxguid.lib, etc. See https://walbourn.github.io/directx-sdks-of-a-certain-age/
If you need d3dx9, d3dx10, or d3dx11, you should use this NuGet instead which provides the headers, link libraries, and a simple side-by-side REDIST for those DLLs. They are also SHA-256 signed. See https://walbourn.github.io/legacy-d3dx-on-nuget/
If you need XAudio2 for Windows 7, then use this NuGet instead. See https://aka.ms/xaudio2redist
If you need dxerr.lib, build it yourself. See https://walbourn.github.io/wheres-dxerr-lib/
If you use the legacy Managed DirectX 1.1 assemblies, use SharpDX or SlimDX instead. https://walbourn.github.io/directx-and-net/
The only scenarios where you still have to use the legacy DirectX SDK are (a) to target Windows XP or (b) to use XACT.

Vulkan SDK Redistributables

I post the following question at LunarG, as Issue #565, about Vulkan SDK redistributable parts for ready to go applications developed with Vulkan. I'd like to share it with Stack Overflow developers.
Let's say I have Vulkan application demo and wish to send it to
potential clients, in order to evaluate it. If I'd develop it using
SDK, what is the correct way to deploy it :
a) include the compatible SDK installer in a multi-install process ?
b) include some SDK's dlls and companion files ? Which ones ?
It also raises another question: Can I re-distribute SDK files ?
Karl Schultz, from LunarG, replied with the following:
On Windows, many IHVs include the Vulkan loader DLL in their install
packages, placing it in system32/vulkan-1.dll. So, in many cases, your
app might just work fine as long as the user has installed drivers
with Vulkan support.
You might also consider shipping only the RunTimeInstaller, which is
found in the SDK. This would let the user install the run time
(loader) as part of your application install. The RTI includes version
checking so that it doesn't clobber a newer version installed by IHV
drivers, or vice-versa. In short, this is probably the best way to go.
It would be better to include the RTI as part of the "multi-install
process" rather than include the entire SDK.
If your application needs layers or some other specific item from the
SDK, then you'd have to include those explicitly somehow.
Please check the licensing-related files within the SDK concerning
redistribution.

Is there a downloadable distribution of Thrift for Windows?

I've been reading quite a bit about Thrift and it looks like a technology I'd really like to use. I'm having all sorts of trouble building the Windows distribution. I know a patch exists to build a Windows version, however I have not had much luck with this either.
Does anyone know of a pre-built distribution for Windows?
Or any suggestions on how to get the latest version of Thrift built (without turning my Windows machine into a pseudo *nix box).
Thanks
Rich
Thrift 0.8 now has VS projects for both the compiler and C++ library. Get the snapshot release or the latest off of SVN
http://thrift.apache.org/download/
Edit: 0.8 has been officially released and the source is available as a tarball on the download page.
Edit2: The SVN trunk now has a cross-platform sample project under thrift/contrib/transport-sample
I ported the client part of Thrift to Windows C++ for my own open-source project. It should be easily usable in other Win32 or WinCE projects.
http://peoplesnote.codeplex.com - src\Evernote API\Thrift
Yes there is, just download the exe from here:
http://thrift.apache.org/download/
exe listed for download there is standalone executable, no installation is needed.
I have used it to generate Smalltalk code, did not test other languages.

What tools do you use to profile (native)C++ on Windows?

How do Window's programmers profile their native C++ code?
On Unix/Linux you have gprof [thanks Evan] & valgrind (I personally used this one, although it's not a real profiler), and recently I'm on Mac and Solaris, which means I moved to dTrace. Now when I've had the need to profile on Windows in the past, like at my previous job, I used Intel's vtune, which is great, however it's commercial, and I don't have a license for private use, so I'm left wondering what's the standard (free is better) tool windows programmers commonly use?
Thanks in advance
You should give Xperf a try - it's a new system wide performance tool that can drill down to a particular application and what exactly it's doing inside itself as well as what's it's asking of the OS.
It's freely available on the Windows SDK for Windows Server 2008 and .NET Framework 3.5 ISO:
Install the SDK by downloading the ISO image, or using the Web based
installer.
Find the xperf MSI in the SDK's "bin" directory. It will be named
xperf_x86.msi, xperf_x64.msi, or
xperf_ia64.msi, depending on the
architecture for which you install the
SDK.
You can then install the xperf tools from the MSI directly, or copy
the xperf MSI file to another location
and install it from there. For
example, you could keep the MSI files
on a USB key.
Source: Pigs Can Fly blog on MSDN.com
Just verified that the xperf msi will not install except on windows Vista or Windows 2007.
-Adam
I got AMD Code Analyst. It's free, and you don't need an AMD CPU ;)
It's a little basic compared to something like Intel's VTune, but the price is right.
This link talks about Linux, but I use the same technique in MSVC and in C#.