[hpsdr] VS2015 build questions & help request

George Byrkit ghbyrkit at chartermi.net
Thu Dec 24 09:09:20 PST 2015


Dear Rick,
So I had a chance to look at this in VS2013 and VS2015.  Long story short: timespec got
added to time.h for VS2015.  Along with _timespec32 and _timespec64.  The definition in
time.h uses __time64_t, it seems, and is not consistent with the definition in pthread.h
(sorry I called it pthreads.h in my earlier email.)  In pthread.h, the first element is
'long', not 'time_t'.  But in the old world (VS2013 and before), time_t was 'long'.

I think that what needs to happen is to rename all the occurrences of timespec in
pthread.h, and the pthread project, to be something like: pt_timespec, so that it does NOT
collide with the new definition provided in VS2015's time.h.  This should make it work
both in VS2015 and in previous versions.

I'd urge Joe and Doug to look into renaming 'timespec' in the pthread project (and
elsewhere as needed), so that this is not a problem going forward.

Rick, if you make this change, you SHOULD be able to compile and build just fine in
VS2015.  I won't vouch for the code working, just that it builds.

73,
George Byrkit, K9TRV

-----Original Message-----
From: Hpsdr [mailto:hpsdr-bounces at lists.openhpsdr.org] On Behalf Of George Byrkit
Sent: Thursday, December 24, 2015 9:17 AM
To: 'Rick Royston'; hpsdr at lists.openhpsdr.org
Subject: Re: [hpsdr] VS2015 build questions & help request

***** High Performance Software Defined Radio Discussion List *****

Dear Rick,
I just checked, and your concerns indeed seem to be valid!  I need to check further on
VS2013 to see what happens there.

Note that when I opened the solution in VS2015 Community, it upgraded it to VC140 (VS2015)
and .Net 4.5.2, I believe.

There is indeed a conflict between the timespec structure defined in pthreads.h and in the
system include time.h.  The one in time.h has 2 versions: one for 64 bit code (timespec64,
IIRC), and the one that conflicts with the pthreads.h one.  And the conflicting ones
define things differently.  In time.h, the first item in the struct is a time_t object,
and in pthreads.h it's a long (signed).  The inclusion from time_t can be prevented, it
looks like, by defining a manifest constant in pthreads.h so that the item in time.h isn't
used.  Maybe it will turn out to be the other way around: need to define where time.h is
included.  You should NOT modify time.h as it is a system (compiler-provided) include
file.  I'll let you know what more I learn in a while, after some errands.

Don't forget to 'sign in' using a Microsoft ID or similar, in order to prevent your
community edition from being deactivated after 30 days!  Applies both to VS2013 Community
and VS2015 Community.  With VS2013 Community, you need to ensure that you have also
installed (separately) the MFC MBCS components.  While this is part of VS2015, not a
separate install, you still need to verify that it has been selected for installation.  If
you install everything (I think about 30gb!), it is installed.

73,
George Byrkit, K9TRV


-----Original Message-----
From: Hpsdr [mailto:hpsdr-bounces at lists.openhpsdr.org] On Behalf Of Rick Royston
Sent: Thursday, December 24, 2015 8:15 AM
To: hpsdr at lists.openhpsdr.org
Subject: [hpsdr] VS2015 build questions & help request

***** High Performance Software Defined Radio Discussion List *****

I am investigating doing some development in the area of control surfaces to HPsdr_mRx
(Anan 100D)  I have installed the latest Visual Community 2015 and the repository r3527.
I scanned the list and found no caveats, but I am getting build errors.  Should I punt
back to VS 2013.  The issues are related to the redefinition of the time field structs.  I
am not up to speed on C# (or c++) so I may need some hand holding.

Just a quick direction that I am considering.  Removing the static support for the 3
Hercules MIDI controllers and creating a custom learning mode that will provide greater
range of supported devices without the massive hand work currently required.

Tnx 73

Rick - KF4ZZ
_______________________________________________
HPSDR Discussion List
To post msg: hpsdr at openhpsdr.org
Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
HPSDR web page: http://openhpsdr.org
Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/

_______________________________________________
HPSDR Discussion List
To post msg: hpsdr at openhpsdr.org
Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
HPSDR web page: http://openhpsdr.org
Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/


 1450976960.0


More information about the Hpsdr mailing list