簡體   English   中英

使用 CMake 生成 32 位/64 位 Eclipse CDT 項目

[英]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_FLAGSCMAKE_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM