最近,我正在为Vulkan学习一个名为vkguide.dev的教程。
我读过第1章第2部分,名为(https://vkguide.dev/docs/chapter-1/vulkan_init_code/),本教程使用一个引导库来对Vulkan(https://github.com/charles-lunarg/vk-bootstrap/)进行初始化。
但是,当我在VKBootstrapDispatch.h文件中使用库时,第2318行的clang/cmake抱怨VkPipelineInfoEXT不是有效类型。它建议使用VkPipelineInfoKHR,但是当我切换类型时,我的代码说arm64有未定义的符号,所有这些函数都与库有关。
我在网上找不到任何关于这件事的东西,所以如果你能帮忙的话,那就太好了。我会附上一些截图。
这些错误是:
VkPipelineInfoEXT不存在,VkPipelineInfoKHR工作,但是它说vulkan函数是未定义的符号。
当我用KHR代替EXT时,就是这样说的。
_vkDestroyDevice", referenced from:
VulkanEngine::Cleanup() in VkEngine.cpp.o
"_vkDestroyImageView", referenced from:
VulkanEngine::Cleanup() in VkEngine.cpp.o
"_vkDestroyInstance", referenced from:
VulkanEngine::Cleanup() in VkEngine.cpp.o
"_vkDestroySurfaceKHR", referenced from:
VulkanEngine::Cleanup() in VkEngine.cpp.o
"_vkDestroySwapchainKHR", referenced from:
VulkanEngine::Cleanup() in VkEngine.cpp.o
ld: symbol(s) not found for architecture arm64CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY) CMAKE_SOURCE_DIR}/build/debu
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS "-std=c++17 -O3")
project(Vulkan-Raytracing-Project)
add_executable(Vulkan-Raytracing
${CMAKE_SOURCE_DIR}/src/main.cpp
${CMAKE_SOURCE_DIR}/src/VkEngine.cpp
${CMAKE_SOURCE_DIR}/lib/vkbootstrap/VkBootstrap.cpp
)
find_package(SDL2 REQUIRED)
find_package(Vulkan REQUIRED)
message(STATUS "Found SDL2")
message(STATUS "Found Vulkan")
# target_link_libraries(Vulkan-Raytracing PUBLIC SDL2 ${CMAKE_DL_LIBS})
target_link_libraries(Vulkan-Raytracing ${SDL2_LIBRARIES} $ {VULKAN_LIBRARIES})
# target_link_directories(Vulkan-Raytracing PUBLIC "${CMAKE_SOURCE_DIR}/lib/SDL")
# target_link_libraries(Vulkan-Raytracing PUBLIC libSDL2maind.a)
# target_link_libraries(Vulkan-Raytracing ${CMAKE_SOURCE_DIR}/lib/SDL/libSDL2maind.a)
target_include_directories(Vulkan-Raytracing PRIVATE
${SDL2_INCLUDE_DIRS}
${VULKAN_INCLUDE_DIRS}
"${CMAKE_SOURCE_DIR}/include"
"${CMAKE_SOURCE_DIR}/src"
"/Users/nick/VulkanSDK/1.3.211.0/macOS/include"
)



发布于 2022-05-18 16:32:24
很抱歉回答了我自己的问题,但事实证明Vulkan并没有正确地链接,我还包括了随sdk一起提供的.dylib,并且构建成功了。
https://stackoverflow.com/questions/72290873
复制相似问题