<div dir="ltr">Hello,<div><br></div><div>I recently had an issue compiling Stk 4.4.4 on GCC-4.8, mingw32 under Windows. (I don&#39;t get the error when using an earlier version of GCC, so I suspect it has to do with the GCC 4.7-&gt;4.8 changes.) I get compilation errors (shown at the bottom) related to string functions that I can fix by changing line 4 of &quot;Stk.h&quot; from:</div>

<div><br></div><div><div>#include &lt;string&gt;</div></div><div><br></div><div>to</div><div><br></div><div><div>#include &lt;cstring&gt;</div></div><div><br></div><div>However, I&#39;m not sure this is the correct fix, which I suspect might instead involve setting the &quot;std&quot; namespace somewhere. If this is the correct solution, would it be worthwhile to put in the main distribution?<br>

</div><div><br></div><div>On a separate note, I get &quot;unused parameter&quot; compilation warnings when I include Stk header files, for example from &quot;include\Instrmnt.h&quot; (lines 76, 94) where virtual functions are defined. It would be nice not to have these warnings during compilation, and the code is easily fixed by changing, e.g.:</div>

<div><br></div><div><div>inline void Instrmnt :: setFrequency( StkFloat frequency )</div></div><div><br></div><div>to</div><div><br></div><div><div>inline void Instrmnt :: setFrequency( StkFloat /*frequency*/ )</div></div>

<div><br></div><div>Would those be worthwhile changes to make?</div><div><br></div><div>Cheers,</div><div>Eric</div><div><br></div><div>P.S. Here is the error that I get regarding the string functions:</div><div><br></div>

<div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">cd src &amp;&amp; make<br>make[1]: Entering directory `/home/labsner/desktop/stk-4.4.4/src&#39;<br>

g++ -O3 -Wall -I../include -Iinclude -fPIC -DHAVE_GETTIMEOFDAY -D__WINDOWS_DS__ -D__WINDOWS_MM__ -D__LITTLE_ENDIAN__ -DRAWWAVE_PATH=\&quot;../../rawwaves/\&quot; -c Stk.cpp -o Release/Stk.o<br>Stk.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]<br>

 /***************************************************/<br> ^<br>In file included from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\_mingw.h:13:0,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\crtdefs.h:10,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\wchar.h:9,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\cwchar:44,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\postypes.h:40,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\char_traits.h:40,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\string:40,<br>

                 from ../include/Stk.h:4,<br>                 from Stk.cpp:53:<br>c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h: In function &#39;errno_t stk::strcpy_s(char (&amp;)[__size], const char*)&#39;:<br>

c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:28:3: error: &#39;::strcpy_s&#39; has not been declared<br>   __CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_0_2_(errno_t,strcpy_s,char,,_Dst,size_t,,_SizeInBytes,const char *,,_Src)<br>

   ^<br>c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:28:3: note: suggested alternative:<br>In file included from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\_mingw.h:13:0,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\crtdefs.h:10,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\wchar.h:9,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\cwchar:44,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\postypes.h:40,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\char_traits.h:40,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\string:40,<br>

                 from ../include/Stk.h:4,<br>                 from Stk.cpp:53:<br>c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:28:3: note:   &#39;stk::strcpy_s&#39;<br>   __CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_0_2_(errno_t,strcpy_s,char,,_Dst,size_t,,_SizeInBytes,const char *,,_Src)<br>

   ^<br>In file included from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\_mingw.h:13:0,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\crtdefs.h:10,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\wchar.h:9,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\cwchar:44,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\postypes.h:40,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\char_traits.h:40,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\string:40,<br>

                 from ../include/Stk.h:4,<br>                 from Stk.cpp:53:<br>c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h: In function &#39;errno_t stk::strcat_s(char (&amp;)[__size], const char*)&#39;:<br>

c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:33:3: error: &#39;::strcat_s&#39; has not been declared<br>   __CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_0_2_(errno_t,strcat_s,char,,strDestination,size_t,,numberOfElements,const char *,,strSource)<br>

   ^<br>c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:33:3: note: suggested alternative:<br>In file included from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\_mingw.h:13:0,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\crtdefs.h:10,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\wchar.h:9,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\cwchar:44,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\postypes.h:40,<br>

                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\bits\char_traits.h:40,<br>                 from c:\qt\qt5.2.0\tools\mingw48_32\lib\gcc\i686-w64-mingw32\4.8.0\include\c++\string:40,<br>

                 from ../include/Stk.h:4,<br>                 from Stk.cpp:53:<br>c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:33:3: note:   &#39;stk::strcat_s&#39;<br>   __CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_0_2_(errno_t,strcat_s,char,,strDestination,size_t,,numberOfElements,const char *,,strSource)<br>

   ^<br>make[1]: *** [Stk.o] Error 1<br>make[1]: Leaving directory `/home/labsner/desktop/stk-4.4.4/src&#39;<br>make: *** [all] Error 2</blockquote></div><div><br></div></div>