Gil*_*ili 27 64-bit linker cmake
如何指定CMake应使用不同的link_directories值,具体取决于目标是32位还是64位?例如,32位二进制文件需要与32位Boost链接,64位二进制文件需要与64位Boost链接.
Eug*_*ith 30
你沿着这些方向做了些什么
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set( BOOST_LIBRARY "/boost/win64/lib" )
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set( BOOST_LIBRARY "/boost/win32/lib" )
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set( CMAKE_EXE_LINKER_FLAGS ${BOOST_LIBRARY} )
Run Code Online (Sandbox Code Playgroud)
rom*_*inf 12
我知道这是一个很老的问题.但是,当您使用Google"cmake 32 64"进行搜索时,它仍处于领先地位.我的答案类似于user434507的答案,但在我看来有点可读(我不喜欢if-else在cmake构建,它看起来很难看):
math(EXPR BITS "8*${CMAKE_SIZEOF_VOID_P}")
set(BOOST_LIBRARY "/boost/win${BITS}/lib")
set(CMAKE_EXE_LINKER_FLAGS ${BOOST_LIBRARY})
Run Code Online (Sandbox Code Playgroud)
这将指向BOOST_LIBRARY/ boost/win 32/lib或/ boost/win 64/lib的路径,具体取决于您的体系结构.
| 归档时间: |
|
| 查看次数: |
22257 次 |
| 最近记录: |