Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-2905

Fixes for mingw cross-compilation (C++)

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      In attempting to cross-compile the Qpid trunk in the MinGW environment, a number of build errors were seen. Attached to this issue is a patch that fixes the errors and builds cleanly on Linux/gcc and MS Visual Studio as well.

      The classes of error discovered are:

      1) Case-sensitivity of file names (i.e. Secure32.lib => secure32.lib)
      2) Syntax issues where MSVC is too lenient (semicolon after the closing brace of a template function)
      3) *_EXTERN on DLL APIs. MinGW doesn't like externs on in-line functions, requires externs on class names.
      4) const_case<char*>() needed on LPTSTR arguments in the Windows API
      5) Unused function arguments need to be commented out
      6) the *_s variants of ::localtime, ::strncpy, ::strerror can't be used

      Before I commit, I would appreciate some review and feedback on this patch.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            tross Ted Ross
            tross Ted Ross
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment