Qpid
  1. Qpid
  2. QPID-2905

Fixes for mingw cross-compilation (C++)

    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.

      1. cross2.diff
        65 kB
        Ted Ross

        Issue Links

          Activity

          Ted Ross created issue -
          Ted Ross made changes -
          Field Original Value New Value
          Attachment cross2.diff [ 12457005 ]
          Robbie Gemmell made changes -
          Fix Version/s 0.7 [ 12314455 ]
          Ted Ross made changes -
          Link This issue requires QPID-3186 [ QPID-3186 ]
          Ted Ross made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 0.11 [ 12316272 ]
          Resolution Fixed [ 1 ]
          Robbie Gemmell made changes -
          Labels old_code_generator_component
          Robbie Gemmell made changes -
          Component/s Code Generator [ 12311570 ]
          Justin Ross made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Ted Ross
              Reporter:
              Ted Ross
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development