[
https://issues.apache.org/jira/browse/ARROW-681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wes McKinney reassigned ARROW-681:
----------------------------------
Assignee: Max Risuhin
> [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
>
> 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
(v6.3.15#6346)