discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] MSVC v16 'static const' error


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] MSVC v16 'static const' error
Date: Thu, 16 Oct 2014 09:59:27 -0400

Gisle,

Please open this as a ticket in our Issue tracker so that it doesn't get lost in the email archives.

Thanks,
Tom


On Wed, Oct 15, 2014 at 1:27 PM, Gisle Vanem <address@hidden> wrote:
I just got this error from MSVC v16 while trying to compile
atsc_sync_impl.cc:
 g:\gv\dx-radio\gnuradio-3.x\gr-dtv\lib\atsc\atsc_sync_impl.h(37) :  error C2864: 'gr::dtv::atsc_sync_impl::LOOP_FILTER_TAP' : only static const  integral data members can be initialized within a class

 g:\gv\dx-radio\gnuradio-3.x\gr-dtv\lib\atsc\atsc_sync_impl.h(38) :  error C2864: 'gr::dtv::atsc_sync_impl::ADJUSTMENT_GAIN' : only static const  integral data members can be initialized within a class

The code works fine with g++ 4.7.2. I figured these 'private const data'
had to be initialised in the .cc-file. Here is how I patched it:

--- atsc_sync_impl.cc.orig       2014-08-18 22:46:57 +0000
+++ atsc_sync_impl.cc 2014-10-15 19:14:01 +0000
@@ -31,6 +31,9 @@
namespace gr {
  namespace dtv {

+    const double atsc_sync_impl::LOOP_FILTER_TAP = 0.0005;     // 0.0005 works
+    const double atsc_sync_impl::ADJUSTMENT_GAIN = 1.0e-5 / (10 * ATSC_DATA_SEGMENT_LENGTH);
+
    atsc_sync::sptr
    atsc_sync::make(float rate)
    {
--- atsc_sync_impl.h.orig        2014-08-18 22:46:57 +0000
+++ ./atsc_sync_impl.h  2014-10-15 19:24:45 +0000
@@ -34,8 +34,8 @@
    class atsc_sync_impl : public atsc_sync
    {
    private:
-      static const double LOOP_FILTER_TAP = 0.0005;    // 0.0005 works
-      static const double ADJUSTMENT_GAIN = 1.0e-5 / (10 * ATSC_DATA_SEGMENT_LENGTH);
+      static const double LOOP_FILTER_TAP; // = 0.0005
+      static const double ADJUSTMENT_GAIN; // = 1.0e-5 / (10 * ATSC_DATA_SEGMENT_LENGTH);
      static const int   SYMBOL_INDEX_OFFSET = 3;
      static const int   MIN_SEG_LOCK_CORRELATION_VALUE = 5;
      static const int   SSI_MIN = -16;


--gv

_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]