Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Well, after banging my head against the wall trying different things I managed to discover what I think is the problem. Luckily the fix is a 1 word fix.
The cmake flag
LIBPROTOBUF_EXPORTS
appears to no longer be required. I think the default now is to always export symbols. However, if you specifyLIBPROTOBUF_EXPORTS
and you do not specifyPROTOBUF_USE_DLLS
it will actually remove the exporting. Based on this comment I'm thinking the better approach is to specify neither flag.Once that was resolved then the Windows build still failed because it runs the examples and the example failed. I had to touch up a few things to get the example passing. It turns out there was an Arrow bug interfering with filter pushdown (ARROW-12311) so I removed the filter. Also, the files probably won't exist so I changed the example to take in a parquet filename. I made it fake-pass (as we do in some other examples) if no filename is specified. Also, my earlier statement (scan_options.projection is never used) turned out to be not quite accurate. Rather than add that projection logic back in I fixed the scanner to handle the case where no projection is specified.