我在 github 中git 克隆了一个名为evmc的项目。
我尝试通过 cmake 在这个项目中构建示例文件夹。但这里有一些错误称为:
和cmake .
-- Configuring done
CMake Error at CMakeLists.txt:23 (add_executable):
Target "evmc-example" links to target "evmc::evmc_cpp" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:23 (add_executable):
Target "evmc-example" links to target "evmc::loader" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
CMake Error at CMakeLists.txt:19 (add_executable):
Target "evmc-example-static" links to target "evmc::evmc_cpp" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:19 (add_executable):
Target "evmc-example-static" links to target "evmc::evmc" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:19 (add_executable):
Target "evmc-example-static" links to target "evmc::evmc" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:16 (add_library):
Target "evmc-example-host" links to target "evmc::evmc_cpp" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at example_vm/CMakeLists.txt:10 (add_library):
Target "example-vm-static" links to target "evmc::evmc" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at example_vm/CMakeLists.txt:5 (add_library):
Target "example-vm" links to target "evmc::evmc" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
CMake Error at example_precompiles_vm/CMakeLists.txt:10 (add_library):
Target "example-precompiles-vm-static" links to target "evmc::evmc" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
CMake Error at example_precompiles_vm/CMakeLists.txt:5 (add_library):
Target "example-precompiles-vm" links to target "evmc::evmc" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
make: *** [cmake_check_build_system] Error 1
和make
Consolidate compiler generated dependencies of target evmc-example-host
[ 14%] Built target evmc-example-host
Consolidate compiler generated dependencies of target evmc-example
[ 21%] Linking CXX executable evmc-example
ld: library not found for -levmc::loader
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [evmc-example] Error 1
make[1]: *** [CMakeFiles/evmc-example.dir/all] Error 2
make: *** [all] Error 2
这是我的 CMakeLists:
# EVMC: Ethereum Client-VM Connector API.
# Copyright 2016-2019 The EVMC Authors.
# Licensed under the Apache License, Version 2.0.
cmake_minimum_required(VERSION 3.13)
set (CMAKE_C_COMPILER /usr/bin/clang)
set (CMAKE_CXX_COMPILER /usr/bin/clang++)
set (CMAKE_CXX_STANDARD 17)
include(GNUInstallDirs)
add_subdirectory(example_vm)
add_subdirectory(example_precompiles_vm)
add_library(evmc-example-host STATIC example_host.cpp)
target_link_libraries(evmc-example-host PRIVATE evmc::evmc_cpp)
add_executable(evmc-example-static example.c)
target_link_libraries(evmc-example-static PRIVATE evmc-example-host evmc::example-vm-static evmc::evmc)
target_compile_definitions(evmc-example-static PRIVATE STATICALLY_LINKED_EXAMPLE)
add_executable(evmc-example example.c)
target_link_libraries(evmc-example PRIVATE evmc-example-host evmc::loader)
include_directories(../include)
这是我的项目结构:
evmc
├── AUTHORS.md
├── CHANGELOG.md
├── CMakeCache.txt
├── CMakeLists.txt
├── CNAME
├── CPackConfig.cmake
├── CPackSourceConfig.cmake
├── Cargo.lock
├── Cargo.toml
├── Doxyfile
├── LICENSE
├── Makefile
├── README.md
├── appveyor.yml
├── bindings
│ ├── go
│ ├── java
│ └── rust
├── build
│ ├── CMakeCache.txt
│ ├── CMakeFiles
│ ├── CPackConfig.cmake
│ ├── CPackSourceConfig.cmake
│ ├── Makefile
│ ├── cmake_install.cmake
│ ├── evmcConfig.cmake
│ ├── evmcConfigVersion.cmake
│ └── lib
├── circle.yml
├── cmake
│ ├── Config.cmake.in
│ ├── EVMC.cmake
│ ├── Hunter
│ └── cable
├── cmake_install.cmake
├── codecov.yml
├── docs
│ ├── EVMC.md
│ ├── Host_Guide.md
│ ├── VM_Guide.md
│ ├── VM_Tester.md
│ └── custom.dox
├── evmcConfig.cmake
├── evmcConfigVersion.cmake
├── examples
│ ├── CMakeCache.txt
│ ├── CMakeFiles
│ ├── CMakeLists.txt
│ ├── Makefile
│ ├── build
│ ├── cmake_install.cmake
│ ├── example-rust-vm
│ ├── example.c
│ ├── example_host.cpp
│ ├── example_host.h
│ ├── example_precompiles_vm
│ ├── example_vm
│ ├── libevmc-example-host.a
│ ├── use_evmc_in_cmake
│ └── use_instructions_in_cmake
├── go.mod
├── include
│ └── evmc
├── lib
│ ├── CMakeFiles
│ ├── CMakeLists.txt
│ ├── Makefile
│ ├── cmake_install.cmake
│ ├── hex
│ ├── instructions
│ ├── loader
│ └── mocked_host
├── target
│ ├── CACHEDIR.TAG
│ └── debug
├── test
│ ├── CMakeLists.txt
│ ├── cmake_package
│ ├── compilation
│ ├── examples
│ ├── gomod
│ ├── tools
│ ├── unittests
│ └── vmtester
└── tools
├── CMakeLists.txt
├── commands
├── evmc
├── utils
└── vmtester
我已经升级了我在这个项目中使用的所有工具:clang、cmake...
但是还是不能正常运行,怎么办?