FindJUCE.cmake: 无法指定导入目标“juce_core”的来源
FindJUCE.cmake: Cannot specify sources for imported target “juce_core”
我正在尝试编译 hello world 程序。我用过这个link提供的CMakeList:https://github.com/remymuller/juce-cmake
我不知道这些错误是什么意思,也不知道如何解决。请帮忙。
CMakeLists.txt
$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(HelloWorld)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "/home/sulakshana/Documents/evon/work/juce/helloworld/NewProject/juce-cmake/cmake/")
find_package(JUCE REQUIRED
COMPONENTS
juce_core
juce_data_structures
juce_events
juce_graphics
juce_gui_basics
juce_gui_extra
)
set(SOURCES
../../Source/Main.cpp
../../Source/MainComponent.h
../../Source/MainComponent.cpp
)
add_executable(${PROJECT_NAME} ${SOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
target_link_libraries(${PROJECT_NAME} ${JUCE_LIBRARIES})
source_group(Source FILES ${SOURCES})
我用过这个.cmake:https://github.com/remymuller/juce-cmake/blob/master/cmake/FindJUCE.cmake
文件夹结构:
此处 juce-cmake
是上述 linked 存储库的克隆:
$ ls
Builds juce-cmake JuceLibraryCode NewProject.jucer Source
CMakeLists.txt地点:
/Builds/LinuxMakefile$ ls
build buildCMake CMakeLists.txt Makefile
错误:
$ cmake ..
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_core".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_data_structures".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_events".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:363 (juce_add_module)
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_graphics".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_gui_basics".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_gui_extra".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/AppConfig.h.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:264 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:501 (juce_generate_app_config)
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/JuceHeader.h.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:283 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:514 (juce_generate_juce_header)
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/sulakshana/Documents/evon/work/juce/helloworld/NewProject/Builds/LinuxMakefile/buildCMake/CMakeFiles/CMakeOutput.log".
此模块依赖于 CMake 3.11 中添加的功能。确保您至少拥有该版本。
最后一组错误是因为你只复制了FindJUCE.cmake
文件而没有复制它自带的FindJuceTemplates
目录。我建议 cloning/downloading 将整个存储库放入您的工作目录(或将其添加为 Git 子模块)然后包含它。您可能需要将 CMAKE_MODULE_PATH
指向子目录。
我正在尝试编译 hello world 程序。我用过这个link提供的CMakeList:https://github.com/remymuller/juce-cmake
我不知道这些错误是什么意思,也不知道如何解决。请帮忙。
CMakeLists.txt
$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(HelloWorld)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "/home/sulakshana/Documents/evon/work/juce/helloworld/NewProject/juce-cmake/cmake/")
find_package(JUCE REQUIRED
COMPONENTS
juce_core
juce_data_structures
juce_events
juce_graphics
juce_gui_basics
juce_gui_extra
)
set(SOURCES
../../Source/Main.cpp
../../Source/MainComponent.h
../../Source/MainComponent.cpp
)
add_executable(${PROJECT_NAME} ${SOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE true)
target_link_libraries(${PROJECT_NAME} ${JUCE_LIBRARIES})
source_group(Source FILES ${SOURCES})
我用过这个.cmake:https://github.com/remymuller/juce-cmake/blob/master/cmake/FindJUCE.cmake
文件夹结构:
此处 juce-cmake
是上述 linked 存储库的克隆:
$ ls
Builds juce-cmake JuceLibraryCode NewProject.jucer Source
CMakeLists.txt地点:
/Builds/LinuxMakefile$ ls
build buildCMake CMakeLists.txt Makefile
错误:
$ cmake ..
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_core".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_data_structures".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_events".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:363 (juce_add_module)
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_graphics".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_gui_basics".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:344 (target_sources):
Cannot specify sources for imported target "juce_gui_extra".
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:490 (juce_add_module)
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/AppConfig.h.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:264 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:501 (juce_generate_app_config)
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/JuceHeader.h.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:283 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
/home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:514 (juce_generate_juce_header)
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
CMake Error: File /home/sulakshana/Documents/evon/work/juce/helloworld/FindJuceTemplates/include_juce_module.cpp.in does not exist.
CMake Error at /home/sulakshana/Documents/evon/work/juce/helloworld/FindJUCE.cmake:566 (configure_file):
configure_file Problem configuring file
Call Stack (most recent call first):
CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/sulakshana/Documents/evon/work/juce/helloworld/NewProject/Builds/LinuxMakefile/buildCMake/CMakeFiles/CMakeOutput.log".
此模块依赖于 CMake 3.11 中添加的功能。确保您至少拥有该版本。
最后一组错误是因为你只复制了FindJUCE.cmake
文件而没有复制它自带的FindJuceTemplates
目录。我建议 cloning/downloading 将整个存储库放入您的工作目录(或将其添加为 Git 子模块)然后包含它。您可能需要将 CMAKE_MODULE_PATH
指向子目录。