tibold / svg-explorer-extension

Extension module for Windows Explorer to render SVG thumbnails, so that you can have an overview of your SVG files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build environment

maphew opened this issue · comments

This an is incredibly popular project considering it has no maintainer and no developers. I've decided to see if I can learn "just enough" c++ to build what's here (create a binary release). This issue will summarize the successes on the way to that goal, if any.

Setting up the build environment.

Warning: it's many GB.

  • QtCreator - choco install qtcreator
    • Qt SDK - MSVC 2017 64-bit using Qt Maintenance Tool installed with QtCreator
  • MS Visual Studio - build tools only else many many GB! Reboots necessary, read the notes
    • choco install visualstudio2017buildtools
    • choco install visualstudio2017-workload-vctools
  • Windows SDK - choco install windows-sdk-10.-0

Installation is with Chocolatey wherever I have a choice. The list may be incomplete. I've installed and uninstalled several different programs and versions of programs trying to find the right combination.

Current Status

2019-09-09 as of commit a02ff34 all compiler errors are gone.

toAscii() has been deprecated in newer versions of Qt. toLatin1() is the suggested replacement, but I see toUtf8() also and decided to use that instead. Going to unicode just seems more future proof.

toWinHBITMAP doesn't have as clear a drop-in replacement, but there is https://stackoverflow.com/a/50236645/14420, "It was moved into the QtWin namespace.". Track this err in #19.

Alpha - I don't know yet, no clearly related discussion about it found so far. Track in #20.

2019-08-29
After much trial and error setting up the build env I've gotten the project down to just 1 warning and 4 errors. The first several attempts listed thousands, so there's hope!

Warnings

ThumbnailProvider.cpp(62): warning C4100: 'grfMode': unreferenced formal parameter

Errors

ThumbnailProvider.cpp(107): error C2039: 'toAscii': is not a member of 'QString'
C:\Qt\5.12.3\msvc2017_64\include\QtGui/qwindowdefs.h(79): note: see declaration of 'QString'
ThumbnailProvider.cpp(140): error C2039: 'toWinHBITMAP': is not a member of 'QPixmap'
C:\Qt\5.12.3\msvc2017_64\include\QtGui/qbrush.h(58): note: see declaration of 'QPixmap'
ThumbnailProvider.cpp(140): error C2039: 'Alpha': is not a member of 'QPixmap'
C:\Qt\5.12.3\msvc2017_64\include\QtGui/qbrush.h(58): note: see declaration of 'QPixmap'
ThumbnailProvider.cpp(140): error C2065: 'Alpha': undeclared identifier

All compiler errors are gone! (#19, #20, #21). I think this means the build environment has been resolved. Next up is to figure out how to test and install the results