[英]Generating 32-bit/64-bit Eclipse CDT projects using CMake
我正在設置一個 C++ 項目,該項目將為 Windows 和 Ubuntu 的 32 位和 64 位版本構建。 我正在使用 CMake 2.8.4,在玩了幾個小時后,設置了 VS2010 32 位和 64 位項目。 我遇到的問題是 Ubuntu 端的 Eclipse 的生成器(技術上對於 Eclipse 生成器在所有平台上都有單獨的版本),沒有單獨的版本 3-bit/6
我意識到有一個 GCC 編譯器開關來指示您想要哪種位類型(-m32,-m64),我不介意有單獨的解決方案,但是當我在構建目錄中運行 cmake 時,我該如何告訴它我想要一個? 如果沒有內置方法,是否可以將自定義變量/值(如BITTYPE=64
)傳遞給 cmake 命令? 這樣我就可以使用簡單的 if/else 處理 CMakeLists.txt 文件中的 rest。
在 Linux CMake 下查看編譯器標志以確定您是為 32 位還是 64 位編譯。 您可以通過在運行 cmake 時設置CMAKE_C_FLAGS
和CMAKE_CXX_FLAGS
信息來傳遞該信息:
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
確定 cmake 是否正在生成 32 位或 64 位項目的可移植方法是查詢CMAKE_SIZEOF_VOID_P變量,例如:
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
# 64-bit project
else()
# 32-bit project
endif()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.