CMake 配置 Vulkan 出現鏈接失敗,找不到 vkEnumerateInstanceExtensionProperties 符號的錯誤的解決方法

使用 CMake 配置 glfw, glm 的時候,總是提示鏈接失敗,找不到 vkEnumerateInstanceExtensionProperties 符號

cmake_minimum_required(VERSION 3.4...3.27)if(${CMAKE_VERSION} VERSION_LESS 3.27)cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
else()cmake_policy(VERSION 3.27)
endif()project(VulkanTest VERSION 1.0DESCRIPTION "Learning Vulkan"LANGUAGES CXX)# ---- Include guards ----
if(PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
message(FATAL_ERROR"In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there."
)
endif()set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)add_executable(VulkanTest src/test.cpp src/test.h)# vulkan sdktarget_include_directories(VulkanTest PUBLIC $ENV{VULKAN_SDK}/Include)
target_link_libraries(VulkanTest $ENV{VULKAN_SDK}/Lib)# link glfw with cmake guide: 
# https://www.glfw.org/docs/3.3/build_guide.html# don't compile exampleset(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)add_subdirectory(dependencies/glfw)target_include_directories(VulkanTest PUBLIC dependencies/glfw/include)
target_link_libraries(VulkanTest glfw)# glmadd_subdirectory(dependencies/glm)target_include_directories(VulkanTest PUBLIC dependencies/glm)
target_link_libraries(VulkanTest glm)

這很明顯就是鏈接不到 Vulkan SDK 的庫,但是我覺得我這么寫應該沒有問題

我還以為是要把 Vulkan SDK 的 lib 文件復制到 exe 目錄底下什么的,我還在想要不要用 install

之后我看別人的倉庫,別人都沒有用 install,于是我再仔細看,最后發現別人不是 link 到文件夾,而是 link 到一個 lib 文件,所以我應該這么寫:target_link_libraries(VulkanTest $ENV{VULKAN_SDK}/Lib/vulkan-1.lib),然后就好了

本來我 link 到一個文件夾的時候,cmake 在控制臺輸出那里也提示了,會忽略掉這一行……果然是因為我不能 link 到一個文件夾

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35141.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35141.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35141.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UG NX二次開發(C#)-CAM-獲取刀具類型

文章目錄 1、前言2、UG NX中的刀具類型3、獲取刀具類型3.1 刀具類型幫助文檔1、前言 在UG NX的加工模塊,加工刀具是一個必要的因素,其包括了多種類型的類型,有銑刀、鉆刀、車刀、磨刀、成型刀等等,而且每種刀具所包含的信息也各不相同。想獲取刀具的信息,那就要知道刀具的…

2023最新水果編曲軟件FL Studio 21.1.0.3267音頻工作站電腦參考配置單及系統配置要求

音樂在人們心中的地位日益增高,近幾年音樂選秀的節目更是層出不窮,喜愛音樂,創作音樂的朋友們也是越來越多,音樂的類型有很多,好比古典,流行,搖滾等等。對新手友好程度基本上在首位,…

用Python畫多個圓圈代碼

編輯:2023-08-13 15:10 在Python中,我們可以使用turtle庫來繪制各種形狀,包括圓圈。這是一個相當基本的問題,但是對于新手程序員來說,它可能會很有用。在這篇文章中,我們將向你展示如何使用Python的turtle…

【報童模型】隨機優化問題二次規劃

面對需求的不確定性,報童模型是做庫存優化的常見模型。而標準報童模型假設價格是固定的,此時求解一個線性規劃問題,可以得到最優訂貨量,這種模型存在局限性。因為現實世界中價格與需求存在一定的關系,本文假設需求q是價…

LNMP環境介紹和搭建

一.LNMP簡介 1.含義 2.工作原理 二.部署LNMP環境 1.Nginx環境 (1)上傳nginx包,下載編譯安裝工具并解包到指定目錄(tar 參數 tar包 - C 目錄路徑) (2) 開始編譯安裝,每次編譯后…

nbcio-boot升級到3.1后出現online表單新增報錯

nbcio-boot升級springboot、mybatis-plus和JSQLParser后出現新增online表單的時候報錯,如下: 2023-08-13 21:18:01.292 [http-nio-8080-exec-12] [1;31mERROR[0;39m [36mo.jeecg.common.exception.JeecgBootExceptionHandler:69[0;39m - Handler dispat…

【JVM】JVM垃圾收集器

文章目錄 什么是JVM垃圾收集器四種垃圾收集器(按類型分)1.串行垃圾收集器(效率低)2.并行垃圾收集器(JDK8默認使用此垃圾回收器)3.CMS(并發)垃圾收集器(只針對老年代垃圾回收的)4.G1垃圾回收器(在…

設計模式之七:適配器模式與外觀模式

面向對象適配器將一個接口轉換成另一個接口,以符合客戶的期望。 // 用火雞來冒充一下鴨子class Duck { public:virtual void quack() 0;virtual void fly() 0; };class Turkey { public:virtual void gobble() 0;virtual void fly() 0; };class TurkeyAdapter :…

利用爬蟲爬取圖片并保存

1 問題 在工作中,有時會遇到需要相當多的圖片資源,可是如何才能在短時間內獲得大量的圖片資源呢? 2 方法 我們知道,網頁中每一張圖片都是一個連接,所以我們提出利用爬蟲爬取網頁圖片并下載保存下來。 首先通過網絡搜索…

Linux 1.2.13 -- IP分片重組源碼分析

Linux 1.2.13 -- IP分片重組源碼分析 引言為什么需要分片傳輸層是否存在分段操作IP分片重組源碼分析ip_createip_findip_frag_createip_doneip_glueip_freeip_expireip_defragip_rcv 總結 本文源碼解析參考: 深入理解TCP/IP協議的實現之ip分片重組 – 基于linux1.2.13 計網理論…

樹莓派RP2040 用Arduino IDE安裝和編譯

目錄 1 Arduino IDE 1.1 IDE下載 1.2 安裝 arduino mbed os rp2040 boards 2 編程-燒錄固件 2.1 打開點燈示例程序 2.2 選擇Raspberry Pi Pico開發板 2.3 編譯程序 2.4 燒錄程序 2.4.1 Raspberry Pi Pico開發板首次燒錄提示失敗 2.4.2 解決首次下載失敗問題 2.4.2.1…

curl 快速入門使用教程

你好,我是悅創。 curl 是一個強大的命令行工具,用于獲取或發送數據,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、TELNET、LDAP 或 FILE 協議等。在本教程中,我們將主要介紹如何使用 curl 進行 HTTP/HTTPS 請求。 1. 安…

Java基礎五之for循環小練習

加油,新時代大工人! 一、Java基礎之算術運算符 二、Java基礎之類型轉換 三、Java基礎之【字符串操作以及自增自減操作】 四、Java基礎之賦值運算符和關系運算符 package base;import java.io.InputStream; import java.util.Scanner;/*** author wh* date 2023年08…

無涯教程-Perl - recv函數

描述 This function receives a message on SOCKET attempting to read LENGTH bytes, placing the data read into variable SCALAR.The FLAGS argument takes the same values as the recvfrom( ) system function, on which the function is based. When communicating wit…

論文淺嘗 | 面向多步推理任務專業化較小語言模型

筆記整理:張沈昱,東南大學碩士,研究方向為自然語言處理 鏈接:https://github.com/FranxYao/FlanT5-CoT-Specialization 動機 本文的動機是探索如何在多步推理任務中通過大型語言模型提升較小的語言模型的性能。作者認為&#xff0…

云開發超多功能工具箱組合微信小程序源碼/附帶流量主

介紹: 這是一款云開發超多功能工具箱組合微信小程序源碼附帶流量主功能,小程序內包含了40余個功能,堪稱全能工具箱了,大致功能如下: 證件照制作 | 垃圾分類查詢 | 個性簽名制作 二維碼生成丨文字九宮格 | 手持彈幕丨…

總結synchronized

一.synchronized的特性 synchronized 是 Java 語言中內置的關鍵字,用于實現線程同步,以確保多線程環境下共享資源的安全訪問。 互斥性:synchronized保證了同一時刻只有一個線程可以執行被synchronized修飾的代碼塊或方法。當一個線程進入sync…

使用GraphQL在Postman中進行API測試

GraphQL 是一種用于API的開源數據查詢和操作語言,用于API的查詢語言和運行時。它使客戶端能夠精確地指定其數據需求,并獲得預測性地結果。GraphQL旨在提高API的效率、靈活性和可靠性。 Postman 是一款用于API開發的強大工具,它支持REST和Gra…

LVS簡介及LVS-DR搭建

目錄 一. LVS簡介: 1.簡介 2. LVS工作模式: 3. LVS調度算法: 4. LVS-DR集群介紹: 二.LVS-DR搭建 1.RS配置 1)兩臺RS,需要下載好httpd軟件并準備好配置文件 2)添加虛擬IP(vip&…

Python爬蟲——requests_cookie登陸古詩文網

尋找登陸需要的參數 __VIEWSTATE:aiMG0UXAfCzak10C7436ZC/RXoZbM2lDlX1iU/4wjjdUNsW8QUs6W2/3M6XIKagQZrC7ooD8Upj8uCnpQMXjDAp6fS/NM2nGhnKO0KOSXfT3jGHhJAOBouMI3QnlpJCQKPXfVDJPYwh169MGLFC6trY __VIEWSTATEGENERATOR: C93BE1AE from: http://so.gushiwen.cn/user/collect.…