在VS2017中使用CMake時,我一直無法弄清楚如何讓CMake找到並設置正確的GLFW CMake常量。任何幫助將不勝感激 :)。找不到CMake和vcpkg的GLFW目錄
我通過微軟的vcpkg
工具下載了glfw3
。我已檢查確實在vcpkg
放入的目錄中存在文件(~\vcpkg\installed\x86-windows\include
)。我按照他們的文檔here設置了我的CMakeSettings.json
。我使用該教程作爲獲得GLFW正確設置的基礎。然後我使用find_package(glfw3 REQUIRED)
找到glfw3
庫。這不會吐出任何錯誤。其實CMakeLists.txt
根本不抱怨。它處於它投訴的編譯階段。
之後,我將glfw3
與target_link_libraries(exe ${GLFW3_LIBRARIES})
添加到可執行文件。
然後,當我嘗試構建一個簡單的示例(包括頭文件)時,編譯失敗,因爲它找不到GLFW/glfw3.h
。
從MSVC的錯誤:
fatal error C1083: Cannot open include file: 'GLFW/glfw3.h': No such file or directory
這是我CMakeLists.txt
用於補充參考:
cmake_minimum_required(VERSION 3.7)
project(learn-opengl)
find_package(glfw3 REQUIRED)
add_executable(learn-opengl main.cpp)
target_link_libraries(learn-opengl ${GLFW3_LIBRARIES})
GLFW3_LIBRARIES
我從glfw3Config.cmake
周圍什麼vcpkg
放入安裝目錄中窺探得到(~\vcpkg\installed\x86-windows\share\glfw3
)
以防萬一,main.cpp
:
#include <GLFW/glfw3.h>
int main()
{
return 0;
}
我試圖調用命令行cmake
爲好,但無濟於事這也不能工作。
我錯過了什麼嗎?我可能誤解了vcpkg
文檔中的某些內容嗎?我真的不知道我錯過了什麼......:/我應該說,另外,我對CMake也是一個新手。
您可以將導入的目標'glfw'或'glfw3'添加到您的'target_link_libraries'命令而不是'$ {GLFW3_LIBRARIES}'嗎?這應該解決你看到的錯誤。 – vre
@vre OMG! 'glfw'工作:D!您是否願意發表您的評論作爲答案,以便我可以解決這個問題?非常感謝!很簡單... –