<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Windows build instructions]]></title><description><![CDATA[<p dir="auto">I'm following the <a href="https://github.com/strawberrymusicplayer/strawberry-msvc" rel="nofollow ugc">Strawberry MSVC build instructions</a> for Windows to add a new feature, but encounter some issues:</p>
<ol>
<li>I've completed steps <code>Requirements</code> ... <code>Alternative 1</code>.</li>
<li>The following step is unclear:</li>
</ol>
<pre><code>Add the following extra CMake arguments:

For debug:  -DARCH=x86_64 -DICU_ROOT=c:\\strawberry_msvc_x86_64_debug
For release: -DARCH=x86_64 -DICU_ROOT=c:\\strawberry_msvc_x86_64_release
</code></pre>
<p dir="auto">I've interpreted this as: <code>Ctrl+Shift+P</code> Type: <code>CMake Settings</code> Assumming the following setting should be updated:</p>
<p dir="auto"><img src="/assets/uploads/files/1728848405548-4bbf2b19-516e-4720-924d-1b4d22914d35-image.png" alt="4bbf2b19-516e-4720-924d-1b4d22914d35-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Is this correct for release build as there are two <code>command arguments</code> as shown in the screenshot?</p>
<p dir="auto">When building <code>strawberry.exe</code>, it results in build errors:</p>
<pre><code>Severity	Code	Description	Project	File	Line	Suppression State	Details
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\organizedialog.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: static void __cdecl icu_75::UMemory::operator delete(void *)" (__imp_??3UMemory@icu_75@@SAXPEAX@Z) referenced in function "public: virtual void * __cdecl icu_75::StringByteSink&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt;::`scalar deleting destructor'(unsigned int)" (??_G?$StringByteSink@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@icu_75@@UEAAPEAXI@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: __cdecl icu_75::ByteSink::ByteSink(void)" (__imp_??0ByteSink@icu_75@@QEAA@XZ) referenced in function "public: __cdecl icu_75::StringByteSink&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt;::StringByteSink&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt;(class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; *,int)" (??0?$StringByteSink@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@icu_75@@QEAA@PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: virtual __cdecl icu_75::ByteSink::~ByteSink(void)" (__imp_??1ByteSink@icu_75@@UEAA@XZ) referenced in function "int `public: __cdecl icu_75::StringByteSink&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt;::StringByteSink&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt;(class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; *,int)'::`1'::dtor$0" (?dtor$0@?0???0?$StringByteSink@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@icu_75@@QEAA@PEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z@4HA)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: void __cdecl icu_75::UnicodeString::toUTF8(class icu_75::ByteSink &amp;)const " (__imp_?toUTF8@UnicodeString@icu_75@@QEBAXAEAVByteSink@2@@Z) referenced in function "public: class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &amp; __cdecl icu_75::UnicodeString::toUTF8String&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt;(class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &amp;)const " (??$toUTF8String@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@UnicodeString@icu_75@@QEBAAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAV23@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: int __cdecl icu_75::UnicodeString::length(void)const " (__imp_?length@UnicodeString@icu_75@@QEBAHXZ) referenced in function "public: class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &amp; __cdecl icu_75::UnicodeString::toUTF8String&lt;class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &gt;(class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &amp;)const " (??$toUTF8String@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@UnicodeString@icu_75@@QEBAAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAV23@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: __cdecl icu_75::UnicodeString::UnicodeString(char const *)" (__imp_??0UnicodeString@icu_75@@QEAA@PEBD@Z) referenced in function "class QString __cdecl Utilities::Transliterate(class QString const &amp;)" (?Transliterate@Utilities@@YA?AVQString@@AEBV2@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: virtual __cdecl icu_75::UnicodeString::~UnicodeString(void)" (__imp_??1UnicodeString@icu_75@@UEAA@XZ) referenced in function "class QString __cdecl Utilities::Transliterate(class QString const &amp;)" (?Transliterate@Utilities@@YA?AVQString@@AEBV2@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol "__declspec(dllimport) public: static class icu_75::Transliterator * __cdecl icu_75::Transliterator::createInstance(class icu_75::UnicodeString const &amp;,enum UTransDirection,enum UErrorCode &amp;)" (__imp_?createInstance@Transliterator@icu_75@@SAPEAV12@AEBVUnicodeString@2@W4UTransDirection@@AEAW4UErrorCode@@@Z) referenced in function "class QString __cdecl Utilities::Transliterate(class QString const &amp;)" (?Transliterate@Utilities@@YA?AVQString@@AEBV2@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2001	unresolved external symbol "public: virtual char * __cdecl icu_75::ByteSink::GetAppendBuffer(int,int,char *,int,int *)" (?GetAppendBuffer@ByteSink@icu_75@@UEAAPEADHHPEADHPEAH@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2001	unresolved external symbol "public: virtual void __cdecl icu_75::ByteSink::Flush(void)" (?Flush@ByteSink@icu_75@@UEAAXXZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\transliterate.cpp.obj	1		
Error	LNK2019	unresolved external symbol ucsdet_open_75 referenced in function "class QByteArray __cdecl Utilities::TextEncodingFromData(class QByteArray const &amp;)" (?TextEncodingFromData@Utilities@@YA?AVQByteArray@@AEBV2@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\textencodingutils.cpp.obj	1		
Error	LNK2019	unresolved external symbol ucsdet_close_75 referenced in function "public: __cdecl `class QByteArray __cdecl Utilities::TextEncodingFromData(class QByteArray const &amp;)'::`2'::&lt;lambda_1&gt;::operator()(void)const " (??R&lt;lambda_1&gt;@?1??TextEncodingFromData@Utilities@@YA?AVQByteArray@@AEBV3@@Z@QEBA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\textencodingutils.cpp.obj	1		
Error	LNK2019	unresolved external symbol ucsdet_setText_75 referenced in function "class QByteArray __cdecl Utilities::TextEncodingFromData(class QByteArray const &amp;)" (?TextEncodingFromData@Utilities@@YA?AVQByteArray@@AEBV2@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\textencodingutils.cpp.obj	1		
Error	LNK2019	unresolved external symbol ucsdet_detect_75 referenced in function "class QByteArray __cdecl Utilities::TextEncodingFromData(class QByteArray const &amp;)" (?TextEncodingFromData@Utilities@@YA?AVQByteArray@@AEBV2@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\textencodingutils.cpp.obj	1		
Error	LNK2019	unresolved external symbol ucsdet_getName_75 referenced in function "class QByteArray __cdecl Utilities::TextEncodingFromData(class QByteArray const &amp;)" (?TextEncodingFromData@Utilities@@YA?AVQByteArray@@AEBV2@@Z)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\textencodingutils.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\moodbaritemdelegate.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\albumcoverchoicecontroller.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\edittagdialog.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\tagfetcher.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\playlistdelegates.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\playlistmanager.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\playlistgeneratorinserter.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\smartplaylistsearchpreview.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\gstengine.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\gstenginepipeline.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\collectionmodel.cpp.obj	1		
Error	LNK2001	unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ)	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\playlist.cpp.obj	1		
Error	LNK1120	16 unresolved externals	C:\straberrymusicplayer\out\build\x64-Debug\straberrymusicplayer	C:\straberrymusicplayer\out\build\x64-Debug\strawberry.exe	1		
</code></pre>
<ol start="3">
<li>In step <code>Copy dependencies (MSYS2 Shell)</code> I'm lost:</li>
</ol>
<pre><code>Run the "copy-deps-msvc-x64-debug-qt6.bat" or "copy-deps-msvc-x64-release-qt6.bat" 
batch file first to copy all plugins to the build directory. 
</code></pre>
<p dir="auto">Where is are these <code>.bat</code> files located?</p>
]]></description><link>https://forum.strawberrymusicplayer.org/topic/3320/windows-build-instructions</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 10:16:20 GMT</lastBuildDate><atom:link href="https://forum.strawberrymusicplayer.org/topic/3320.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 13 Oct 2024 19:44:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Windows build instructions on Sun, 03 Nov 2024 13:06:42 GMT]]></title><description><![CDATA[<p dir="auto">Resolved, Windows build instructions for developers is updated in <a href="https://github.com/strawberrymusicplayer/strawberry-msvc" rel="nofollow ugc">strawberrymusicplayer/strawberry-msvc</a>.</p>
]]></description><link>https://forum.strawberrymusicplayer.org/post/6267</link><guid isPermaLink="true">https://forum.strawberrymusicplayer.org/post/6267</guid><dc:creator><![CDATA[Erriez]]></dc:creator><pubDate>Sun, 03 Nov 2024 13:06:42 GMT</pubDate></item><item><title><![CDATA[Reply to Windows build instructions on Sat, 26 Oct 2024 13:32:04 GMT]]></title><description><![CDATA[<p dir="auto">I found the root cause as I was accidentally mixing debug and release builds.</p>
<p dir="auto">Unfortunately, the Windows MSVC build is currently broken with outdated instructions. I've applied multiple fixes manually and now builds successfully. I'll create pull-requests for each item.</p>
]]></description><link>https://forum.strawberrymusicplayer.org/post/5994</link><guid isPermaLink="true">https://forum.strawberrymusicplayer.org/post/5994</guid><dc:creator><![CDATA[Erriez]]></dc:creator><pubDate>Sat, 26 Oct 2024 13:32:04 GMT</pubDate></item><item><title><![CDATA[Reply to Windows build instructions on Tue, 15 Oct 2024 21:10:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://forum.strawberrymusicplayer.org/uid/1">@jonas</a> Thanks for your quick reply.</p>
<p dir="auto">Instead of installing all tools manually, I've now executed the batch files on a clean Windows 11 and configured the environment variables as described:</p>
<ul>
<li>Run download.bat (Windows Terminal)</li>
<li>Run install.bat (Windows Terminal as administrator. It requires some manual installations like Visual Studio 2022)</li>
<li>Run build.bat (Run in Visual Studio 2022 x86_x64 Native Tools Command Prompt; It builds all dependencies and sources which takes hours, still running...)</li>
</ul>
<p dir="auto">I had no success by extracting <a href="https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/releases" rel="nofollow ugc">binary dependencies</a> to <code>C:\strawberry_msvc_x86_64_debug</code> as it results in unsatisfied requirement errors.</p>
<p dir="auto">I assume this is the right way of building?</p>
<p dir="auto">Note: There is a bug in <a href="https://7-zip.org/a/7z2201-x64.exe" rel="nofollow ugc">download.bat</a> which should be changed to:</p>
<pre><code class="language-diff">-https://7-zip.org/a/7z2201-x64.exe
+https://7-zip.org/a/7z%7ZIP_VERSION%-x64.exe
</code></pre>
<p dir="auto">as <code>version.bat</code> contains <code>@set 7ZIP_VERSION=2301</code> which now results in a download/install filename mismatch.</p>
]]></description><link>https://forum.strawberrymusicplayer.org/post/5869</link><guid isPermaLink="true">https://forum.strawberrymusicplayer.org/post/5869</guid><dc:creator><![CDATA[Erriez]]></dc:creator><pubDate>Tue, 15 Oct 2024 21:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Windows build instructions on Sun, 13 Oct 2024 22:11:21 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://forum.strawberrymusicplayer.org/uid/1482">@Erriez</a></p>
<p dir="auto">These are linking errors, not build errors. The icu related linking errors are most likely caused by having conflicting ICU versions installed.<br />
You need to check the logs to see where it's picked up, or you could build with <code>/VERBOSE</code>.<br />
You should be able to fix it by removing the conflicting ICU version.<br />
There could also be icu libraries in <code>C:\Program Files (x86)\Windows Kits</code>, if it's still picking up ICU from there you can search for <code>*icu*lib</code> and <code>*icu*h</code> and rename those files, although I do no have to do that.<br />
The second linking errors could be caused by having conflicting Qt versions installed.</p>
]]></description><link>https://forum.strawberrymusicplayer.org/post/5850</link><guid isPermaLink="true">https://forum.strawberrymusicplayer.org/post/5850</guid><dc:creator><![CDATA[jonas]]></dc:creator><pubDate>Sun, 13 Oct 2024 22:11:21 GMT</pubDate></item></channel></rss>