0
我想編譯BCI2000的Emotiv EPOC模塊。在該模塊中,CMakeLists文件包含以下內容(在下面的錯誤日誌下面)。在CMake中,像BCI2000_INCLUDE(「SOURCEFILTER」)這樣的函數調用是什麼?
編譯器提供了以下錯誤,
-- Selecting Windows SDK version to target Windows 10.0.10586.
CMake Error at CMakeLists.txt:21 (BCI2000_INCLUDE):
Unknown CMake command "BCI2000_INCLUDE".
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as
cmake_minimum_required(VERSION 3.10)```
的CMakeLists.txt包含此,
###########################################################################
## $Id$
## Authors: [email protected]
## Description: Build information for the Emotiv module
# Set the executable name
SET(EXECUTABLE_NAME Emotiv)
# Set the project specific sources
SET(SRC_PROJECT
EmotivADC.cpp
lib/edk.imports.cpp
)
SET(HDR_PROJECT
EmotivADC.h
lib/edk.imports.h
)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib/include)
BCI2000_INCLUDE("SOURCEFILTER")
IF(WIN32)
# Create the signal source module
BCI2000_ADD_SIGNAL_SOURCE_MODULE(
"${EXECUTABLE_NAME}"
"${SRC_PROJECT}" "${HDR_PROJECT}"
"${CMAKE_CURRENT_SOURCE_DIR}/dll/edk.dll"
"${CMAKE_CURRENT_SOURCE_DIR}/dll/edk_utils.dll"
)
ELSE()
MESSAGE("--- No Emotiv libraries for this OS. Will not build.")
ENDIF()
我該如何解決這個問題? 看起來他們是函數調用,但是如果從另一個文件中聲明這些函數調用,如何將它們導入某處?
'如何從另一個文件導入這些函數調用,如果它們被聲明在某處?' - [include()](https://cmake.org/cmake/help/v3.9/command/include.html)一個聲明該函數的文件。實際上,如果沒有調用'cmake_minimum_required()'(如警告中所示),則表明此文件不應該由CMake作爲* standalone *處理。也就是說,你應該從* other *目錄(可能來自外部目錄)運行'cmake'。閱讀項目的自述文件(或其他說明)。 – Tsyvarev
@Tsyvarev這很好,但沒有自述 –