我必須檢查CMake腳本,如果我有一個32位或64位的Linux,才能知道如何構建C++程序。哪條命令是最好的選擇:檢查我是否有32位或64位Linux的最佳方法是什麼?
- getconf LONG_BIT
- 拱
- uname -m輸出
我必須檢查CMake腳本,如果我有一個32位或64位的Linux,才能知道如何構建C++程序。哪條命令是最好的選擇:檢查我是否有32位或64位Linux的最佳方法是什麼?
我會建議使用的方法一起任意兩個。 (或全部三種)
只是爲了備份,並且要跨平臺。另一個Linux發行版可以使用其他ID字符串。或者是... FreeBSD。
只是添加另一種方法 - 檢查一些二進制的體系結構。 與file /usr/bin/gcc
一樣。
使用cmake一種可能的方式是檢查CMAKE_SIZEOF_VOID_P變量:
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
message (STATUS "Compiling for 64-bit")
endif()
這很好,但是根據文檔CMAKE_SIZEOF_VOID是通過使用編譯器獲取的,所以如果你在64位並編譯爲32位,特別是使用「-m32」。 – thoni56
我投過去。 – peterh
作爲一個Linux系統管理員,我在過去的10年中一直使用'uname -m ... – slayedbylucifer