使用CMake编译32位和64位项目 [英] Compiling 32-bit vs 64-bit project using CMake

查看:1658
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆