Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-2798

Thrift does not compile on Windows with TARGET_WIN_XP=0

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.9.1, 0.9.2
    • None
    • C++ - Library
    • None

    Description

      To compile with Visual Studio 2013 after defining TARGET_WIN_XP=0 (and HAVE_STDINT_H=1), I have to do the following:

      1. Remove BoostThreadFactory.cpp and BoostThreadFactory.h from concurrency
      2. Add
        #ifndef WINVER
        # define WINVER 0x0601
        #endif
        after
        #ifndef _WIN32_WINNT
        # define _WIN32_WINNT 0x0601
        #endif
        in windows/config.h
      3. Remove #include <thrift/transport/PlatformSocket.h> from Thrift.h (or move it to after #include <thrift/thrift-config.h>), since it depends on the WINVER definition from windows/config.h.

      I'm not sure what the best fix for the boost thread factory thing is (maybe #ifdef the file contents based on USE_BOOST_THREAD?), but I think the other code changes should go in.

      It may also be worth having
      #if _MSC_VER >= 1800
      # define HAVE_STDINT_H
      #endif
      in windows/config.h.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              alexmerry Alex Merry
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: