is this explicit external declaration more than just the word "extern"?

Jan Schiefer <[email protected]> wrote:

>Hi Richard,
>
>thank you very much for putting the CMake build together, this is going
>
>to help portability tremendously. I have tried, and mostly succeeded,
>to 
>build codec2-dev on WIndows7 using Microsoft VisualStudio 2010. I know 
>many here are not enthusiastic about this environment, but getting that
>
>to work certainly helps to work through some cross-platform issues. 
>Here's what I have found:
>
>A config.h file is needed to deal with some missing functionality in
>the 
>Windows platform. I am able to make this work for both autoconf and 
>CMake by using different input file names for the different
>environments 
>and the same output file name. The HAVE_XXX mechanisms are pleasingly 
>similar, so the #include works with output from either CMake or
>autoconf.
>
>On a related note, the list of include files and functions checked for 
>is inconsistent between autoconf and CMake.
>
>VisualStudio doesn't have a round() function. Easy enough.
>
>It also doesn't have getopt(), which is used in c2sim. I have found a 
>"Microsoftized" version of glibc's getopt() here: 
>http://www.ludvikjerabek.com/software. This is under LGPL, so the 
>license is compatible. This raises the question where in the source
>tree 
>platform dependent source files should go?
>
>Windows requires an explicit declaration which entry points are to be 
>made visible ("exported") from a shared library. I solved this with an 
>external declaration (DEF file). Since I did this, I have also noted 
>that some of the "public" functions in the codec2 library are decorated
>
>with CODEC2_WIN32SUPPORT macros, so that may be the preferable
>approach? 
>This would work for everything other than c2sim, which needs access to 
>some of the more private parts of the codec2 library. Not sure what to 
>do about that one.
>
>I was going to ask about the codebook files also, but that has been 
>covered elsewhere.
>
>Now, for next steps: Any comments on the questions above would be 
>appreciated. I need to finish up the integration of the getopt() stuff 
>and do a little more testing, otherwise I will very soon be ready to 
>provide patches, if desired. I should probably wait for the next set of
>
>changes and merge those out first? Seem you are hard at work.
>
>Eventually I will try the same with fdmdv2. I can help with OSX also,
>if 
>nobody else is working on that.
>
>Best regards,
>    Jan, ac7td, dl5ue
>
>
>------------------------------------------------------------------------------
>Precog is a next-generation analytics platform capable of advanced
>analytics on semi-structured data. The platform includes APIs for
>building
>apps and a phenomenal toolset for data science. Developers can use
>our toolset for easy data analysis & visualization. Get a free account!
>http://www2.precog.com/precogplatform/slashdotnewsletter
>_______________________________________________
>Freetel-codec2 mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/freetel-codec2

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to