使用CMake编译32位和64位项目 [英] Compiling 32-bit vs 64-bit project using CMake
本文介绍了使用CMake编译32位和64位项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何指定CMake应使用不同的 link_directories
值,具体取决于目标是32位还是64位?例如,32位二进制文件需要与32位Boost链接,64位二进制文件需要与64位Boost链接。
解决方案
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})
How do I specify that CMake should use a different link_directories
value depending on whether the target is 32-bit or 64-bit? For example, 32-bit binaries need to link with 32-bit Boost, 64-bit binaries need to link with 64-bit Boost.
解决方案
You do something along these lines
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} )
这篇关于使用CMake编译32位和64位项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文