[
https://issues.apache.org/jira/browse/ARROW-681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17657713#comment-17657713
]
Rok Mihevc commented on ARROW-681:
----------------------------------
This issue has been migrated to [issue
#16302|https://github.com/apache/arrow/issues/16302] on GitHub. Please see the
[migration documentation|https://github.com/apache/arrow/issues/14542] for
further details.
> [C++] Build Arrow on Windows with dynamically linked boost
> ----------------------------------------------------------
>
> Key: ARROW-681
> URL: https://issues.apache.org/jira/browse/ARROW-681
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Max Risuhin
> Assignee: Max Risuhin
> Priority: Major
> Fix For: 0.3.0
>
>
> Currently CMake recognizes "imported" 3rd party libs as static libraries.
> That causes linking issue (.obj data can't be found in stripped .lib for
> shared .dll, because it's in .dll) if the library should be linked
> dynamically on Windows.
> To resolve above incorrect behavior, IMPORTED_LOCATION property of imported
> library replaced with special IMPORTED_IMPLIB. It sets cmake to handle the
> library as dynamic, not static.
> https://cmake.org/cmake/help/v3.0/prop_tgt/IMPORTED_IMPLIB.html
> Another linking issue on Windows with dynamically linked boost is caused by
> boost's autolink feature. Autolinking tells to link against static libs of
> boost, even if we have turned off usage of static libs in CMAKE. The solution
> is to turn off boost's autolinking by preprocessor's defines directly from
> CMAKE script:
> // disable autolinking in boost
> add_definitions(-DBOOST_ALL_NO_LIB)
> // force all boost libraries to dynamic link
> add_definitions(-DBOOST_ALL_DYN_LINK)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)