kou commented on code in PR #34711:
URL: https://github.com/apache/arrow/pull/34711#discussion_r1154947731


##########
cpp/src/arrow/acero/asof_join_node.h:
##########
@@ -36,11 +36,11 @@ using AsofJoinKeys = AsofJoinNodeOptions::Keys;
 /// \param[in] input_schema the schema of each input to the node
 /// \param[in] input_keys the key of each input to the node
 /// \param[out] field_output_indices the output index of each field
-ARROW_EXPORT Result<std::shared_ptr<Schema>> MakeOutputSchema(
+ARROW_ACERO_EXPORT Result<std::shared_ptr<Schema>> MakeOutputSchema(

Review Comment:
   We need to use `ARROW_DLLEXPORT` in a shared library that defines a symbol 
and `ARROW_DLLIMPORT` in a program that uses a symbol:
   
   
https://github.com/apache/arrow/blob/509735ce7076d74e19217e5c4671566e3e4550a3/cpp/src/arrow/util/visibility.h#L43-L52
   
   If we always use `ARROW_EXPORT` for all separated shared libraries (for 
example, `arrow.dll` and `arrow_acero.dll`), we can't distinct whether this 
build wants to define a symbol or use a symbol (for example, `arrow.dll` wants 
to define `arrow::Status` and `arrow_acero.dll` wants to use `arrow::Status`). 
So we need `ARROW_*_EXPORT` for each separated shared library. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to