<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't get the error when using an earlier version of GCC, so I suspect it has to do with the GCC 4.7->4.8 changes.) I get compilation errors (shown at the bottom) related to string functions that I can fix by changing line 4 of "Stk.h" from:</div>
<div><br></div><div><div>#include <string></div></div><div><br></div><div>to</div><div><br></div><div><div>#include <cstring></div></div><div><br></div><div>However, I'm not sure this is the correct fix, which I suspect might instead involve setting the "std" 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 "unused parameter" compilation warnings when I include Stk header files, for example from "include\Instrmnt.h" (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 && make<br>make[1]: Entering directory `/home/labsner/desktop/stk-4.4.4/src'<br>
g++ -O3 -Wall -I../include -Iinclude -fPIC -DHAVE_GETTIMEOFDAY -D__WINDOWS_DS__ -D__WINDOWS_MM__ -D__LITTLE_ENDIAN__ -DRAWWAVE_PATH=\"../../rawwaves/\" -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 'errno_t stk::strcpy_s(char (&)[__size], const char*)':<br>
c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:28:3: error: '::strcpy_s' 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: 'stk::strcpy_s'<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 'errno_t stk::strcat_s(char (&)[__size], const char*)':<br>
c:\qt\qt5.2.0\tools\mingw48_32\i686-w64-mingw32\include\sec_api\string_s.h:33:3: error: '::strcat_s' 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: 'stk::strcat_s'<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'<br>make: *** [all] Error 2</blockquote></div><div><br></div></div>