Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法理解此特定的CmakeLists.txt_Cmake - Fatal编程技术网

无法理解此特定的CmakeLists.txt

无法理解此特定的CmakeLists.txt,cmake,Cmake,我正在尝试编译我的第一个VST插件。我做了一个测试,试图把它分解并理解它,自己重写它,然后编译它 我目前正在分解CmakeLists.txt文件。我遇到了一个我不明白的问题 TARGET_LINK_LIBRARIES(gijzelijzer ${VSTSDK_LIBRARIES} ) 我不知道VST_LIBRARIES变量是什么。它不会在CmakeList.txt中的任何其他位置声明。这是一个坏掉的cmake文件,还是这里的语法有什么我不明白的地方。我只是不明白这里发生了什么 PROJ

我正在尝试编译我的第一个VST插件。我做了一个测试,试图把它分解并理解它,自己重写它,然后编译它

我目前正在分解CmakeLists.txt文件。我遇到了一个我不明白的问题

TARGET_LINK_LIBRARIES(gijzelijzer
    ${VSTSDK_LIBRARIES}
)
我不知道VST_LIBRARIES变量是什么。它不会在CmakeList.txt中的任何其他位置声明。这是一个坏掉的cmake文件,还是这里的语法有什么我不明白的地方。我只是不明白这里发生了什么

PROJECT(GIJZELIJZER)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
SET(CMAKE_COLOR_MAKEFILE ON)

IF (MSVC)
    ADD_DEFINITIONS(/D _CRT_SECURE_NO_WARNINGS)
ENDIF()

#-------------------------------------------------------------------------------
# Find 3rd party libs
#-------------------------------------------------------------------------------
SET(VSTSDK_PATH ${GIJZELIJZER_SOURCE_DIR}/../vstsdk2.4 CACHE PATH "Path to the Steinberg VST SDK")
SET(VSTSDK_INCLUDE_DIR ${VSTSDK_PATH})
SET(VSTSDK_PLUGIN_SOURCE
    ${VSTSDK_PATH}/public.sdk/source/vst2.x/audioeffectx.cpp
    ${VSTSDK_PATH}/public.sdk/source/vst2.x/audioeffect.cpp
    ${VSTSDK_PATH}/public.sdk/source/vst2.x/vstplugmain.cpp
)

SET(VSTSDK_HOST_SOURCE
    ${VSTSDK_PATH}/pluginterfaces/vst2.x/aeffectx.cpp
)

#-------------------------------------------------------------------------------
# Set what to compile how
#-------------------------------------------------------------------------------
SET(GIJZELIJZER_SOURCE
    src/gijzelijzer.cpp
    src/gijzelijzer.h
    src/gijzelijzermain.cpp
    resources/gijzelijzer.rc
    resources/vstplug.def
    ${VSTSDK_PLUGIN_SOURCE}
)

ADD_LIBRARY(gijzelijzer SHARED ${GIJZELIJZER_SOURCE})

#-------------------------------------------------------------------------------
# Include 3rd party library headers
#-------------------------------------------------------------------------------
INCLUDE_DIRECTORIES(
    ${VSTSDK_INCLUDE_DIR}
)

#-------------------------------------------------------------------------------
# Link libraries
#-------------------------------------------------------------------------------
TARGET_LINK_LIBRARIES(gijzelijzer
    ${VSTSDK_LIBRARIES}
)

是,变量
VSTSDK\u INCLUDE\u DIR
未在给定的
CMakeLists.txt
中定义。可能是作者忘记了定义它,或者他想让用户通过cmake定义传递这个变量。请注意,cmake中未定义的变量会扩展为空字符串。因此,在本例中,调用
target\u link\u库
将什么也不做,这可能是预期的行为,也可能不是预期的行为。