Anonymous - 2021-12-03

SwiftSearch automatically loads the NTFS indices on startup. This leads to "input lag" especially on slow systems. The progress bar I'm requesting is already implemented, but it's only displayed after pressing F5 and immediately starting a search.

P.S.
I tried doing it myself. I had no programming experience aside from writing a couple of if and while loops a couple of years ago, but I asked myself this:

How hard can it be?More-than-fifteen-hours-of-fiddling-and-trial-and-error hard...

I started with downloading SwiftSearch's source code from the master branch. Then, I installed Visual Studio Community 2019 along with the Desktop development with C++ workload.
Before doing any modifications to the source code, I thought I'd build it to see if Visual Studio is working correctly. As you might have expected, Visual Studio generated hundreds of errors and warnings. I tried Googling some of them, but I couldn't fix a single one.

Searching older discussions here led me to https://sourceforge.net/p/swiftsearch/discussion/General/thread/33d53e850b/?limit=25#beb1, but even after following every single step, SwiftSearch wouldn't get built. One of the compiler errors was:
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\string(540): error C2039: 'sprintf_s': is not a member of '`global namespace''

I tried installing more Visual Studio components like Windows Universal CRT SDK, C++ Clang tools for Windows (12.0.0 - x64/x86), and Windows Universal C Runtime but none of them helped. Then, for some reason, I thought about installing one more component: MSVC v140 - VS 2015 C++ build tools (v14.00) and to my surprise, that worked...

For any one who's struggling...

  • Download the latest SwiftSearch source code snapshot and extract it.
  • Open swiftsearch-code\Project.props with a text editor.
  • Download Boost v1.72 from here https://www.boost.org/users/history/version_1_72_0.html
  • Extract boost_1_72_0.7z and copy the path to boost_1_72_0 For example, D:\Libraries\boost_1_72_0\
  • Paste it in Project.props like this (add the last backslash \ just in case):
  <PropertyGroup Label="UserMacros">
  <BOOST_ROOT>D:\Libraries\boost_1_72_0\</BOOST_ROOT>
  </PropertyGroup>
  • Download Windows Template Library (WTL) r467 from here https://sourceforge.net/p/wtl/code/467/tree/
  • Extract wtl-code-r467-trunk.zip and copy the path to wtl-code-r467-trunk\wtl\include\ For example, D:\Libraries\wtl-code-r467-trunk\wtl\include\
  • Paste it in Project.props like this (add the last backslash \ just in case):
  <PropertyGroup>
    <XPDeprecationWarning>false</XPDeprecationWarning>
    <IncludePath>D:\Libraries\wtl-code-r467-trunk\wtl\include\;$(IncludePath)</IncludePath>
  </PropertyGroup>
  • Save Project.props.
  • Install Visual Studio with the Desktop development with C++ workload along with MSVC v140 - VS 2015 C++ build tools (v14.00)
  • Open SwiftSearch.vcxproj with Visual Studio.
  • Click the Project menu then click Properties
  • Change the Platform Toolsetfield to Visual Studio 2015 - Windows XP (v140_xp) then click Apply. If the Platform Toolset field doesn't change, I have no idea what to do...
  • Click the Build menu then click Build SwiftSearch
  • Google the errors that occurred Done!