[ 
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)

Reply via email to