簡體   English   中英

配置OpenCV時出現CMake錯誤

[英]CMake error when configuring OpenCV

我正在使用cmake-gui嘗試構建opencv但是得到了這個錯誤:

CMake Error at cmake/OpenCVGenConfig.cmake:134 (math):
  math cannot parse the expression: "8 * ": syntax error, unexpected $end,
  expecting exp_OPENPARENT or exp_NUMBER (4)
Call Stack (most recent call first):
  CMakeLists.txt:649 (include)

這是我第一次使用cmake,所以我不知道該轉向何處。 我查看了OpenCVGenConfig.cmake文件,但我對它的語法一無所知。 我吹走了所有東西,再次下載了opencv tarball,但仍然得到了同樣的錯誤。 因此,它似乎不是OpenCVGenConfig.cmake文件中的拼寫錯誤/錯誤,而是處理“math”命令。 我似乎無法在Cmake文檔中找到與“math”命令相關的任何內容。

有任何想法嗎?

-Andres

看起來有問題的是

  math(EXPR SIZEOF_VOID_P_BITS "8 * ${CMAKE_SIZEOF_VOID_P}")

問題似乎是${CMAKE_SIZEOF_VOID_P}未設置,它應該以字節為單位指示指針的大小。 它應該在頂級CMakeLists.txt開頭附近調用project命令時設置。

我不確定為什么它沒有被設置,它甚至可能是CMake中的一個錯誤。 您可以嘗試使用最新版本的CMake (目前為2.8.8),如果您還沒有。 此外,從命令行運行CMake可能會有所不同(它不應該,但你永遠不知道)。

如果這沒有幫助,最好的辦法是在CMake郵件列表上尋求建議。

作為絕對的最后手段,您可以通過添加在您的機器上為CMAKE_SIZEOF_VOID_P設置適當的值

  if(NOT CMAKE_SIZEOF_VOID_P)
    set(CMAKE_SIZEOF_VOID_P 4)  # replace 4 with 8 for 64-bit machine
  endif()

在第134行進行math調用之前的cmake / OpenCVGenConfig.cmake。 這是一個可怕的黑客,我當然不推薦它,但它可以讓你建立OpenCV,同時在郵件列表上尋找一個正確的答案。


您可以通過運行獲取有關math命令的信息

cmake --help-command math

並通過運行在CMAKE_SIZEOF_VOID_P

cmake --help-variable CMAKE_SIZEOF_VOID_P

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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