问一个CMake脚本语法的问题

clever101
博客专家认证
2018-09-17 04:19:01
CMake脚本中提到怎么判断64位平台和32位平台,可以使用
CMAKE_SIZEOF_VOID_P 表示 void* 的大小(例如为 4 或者 8),可以使用其来判断当前构建为 32 位还是 64 位

问题是CMAKE_SIZEOF_VOID_P是在哪里指定的?
...全文
736 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kbasm 2018-09-20
  • 打赏
  • 举报
回复
引用 6 楼 clever101 的回复:
CMAKE_SIZEOF_VOID_P这个变量的值取决于什么呢?我的操作系统是64位的win7,但是 CMAKE_SIZEOF_VOID_P却是等于4。是因为我安装的是32位的CMake吗?


看文档,那个值是根据你编译器和项目配置来的。你编译的是32位的?

CMAKE_SIZEOF_VOID_P
Size of a void pointer.

This is set to the size of a pointer on the machine, and is determined by a try compile. If a 64 bit size is found, then the library search path is modified to look for 64 bit libraries first.
clever101 2018-09-20
  • 打赏
  • 举报
回复
引用 5 楼 kbasm 的回复:
[quote=引用 4 楼 clever101 的回复:] 大侠,关键是CMAKE_SIZEOF_VOID_P是怎么来的?
什么叫怎么来的…………,CMake自带的啊 https://cmake.org/cmake/help/latest/variable/CMAKE_SIZEOF_VOID_P.html 你CMake版本太低?[/quote] CMAKE_SIZEOF_VOID_P这个变量的值取决于什么呢?我的操作系统是64位的win7,但是 CMAKE_SIZEOF_VOID_P却是等于4。是因为我安装的是32位的CMake吗?
kbasm 2018-09-18
  • 打赏
  • 举报
回复
引用 4 楼 clever101 的回复:
大侠,关键是CMAKE_SIZEOF_VOID_P是怎么来的?

什么叫怎么来的…………,CMake自带的啊
https://cmake.org/cmake/help/latest/variable/CMAKE_SIZEOF_VOID_P.html

你CMake版本太低?
clever101 2018-09-18
  • 打赏
  • 举报
回复
引用 3 楼 kbasm 的回复:
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_SIZEOF_VOID_P是怎么来的?
kbasm 2018-09-17
  • 打赏
  • 举报
回复
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} )
clever101 2018-09-17
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
学会使用grep或findstr命令。
ww 收到,我试试。win7的图形化的全文搜索功能太差了。
赵4老师 2018-09-17
  • 打赏
  • 举报
回复
学会使用grep或findstr命令。

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧