Uploaded image for project: 'Parquet'
  1. Parquet
  2. PARQUET-1420

[C++] Thrift-generated symbols not exported in DLL

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: parquet-cpp
    • Labels:

      Description

      Thirft-generated symbols don't have any PARQUET_EXPORT-like annotation, so they are not reachable from the Parquet DLL. In turn this makes it impossible to link Parquet unit tests with the Parquet DLL (instead of the Parquet static lib). I'm not sure it can impact other applications.

      Example linking error:

      column_writer-test.cc.obj : error LNK2019: unresolved external symbol "public: v
      irtual unsigned int __cdecl parquet::format::Statistics::read(class apache::thri
      ft::protocol::TProtocol *)" (?read@Statistics@format@parquet@@UEAAIPEAVTProtocol
      @protocol@thrift@apache@@@Z) referenced in function "[thunk]:public: virtual uns
      igned int __cdecl parquet::format::Statistics::read`vtordisp{4294967292,0}' (cla
      ss apache::thrift::protocol::TProtocol *)" (?read@Statistics@format@parquet@@$4P
      PPPPPPM@A@EAAIPEAVTProtocol@protocol@thrift@apache@@@Z)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                apitrou Antoine Pitrou
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: