Как добавить библиотеку SDL в CMAKE?
Впервые изучаю CMAKE, учусь подключению библиотек и хейдеров. Желательно подробное объяснение что к чему.
> inc
| > SDL
| | SDL.h
| | ...
> lib
| > SDL
| | > x64
| | | SDL2.dll
| | | SDL2.lib
| | | SDL2main.lib
| | | SDL2test.lib
| | > x86
| | | SDL2.dll
| | | SDL2.lib
| | | SDL2main.lib
| | | SDL2test.lib
main.cpp
CMakeLists.txt
Файл: ./CMakeLists.txt
cmake_minimum_required(VERSION 3.5.0)
project(cuongraph)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
# IMPORT SDL HEADERS
set(SDL2_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/inc")
# IMPORT LIBRARIES
if (${CMAKE_SIZEOF_VOID_P} MATCHES 8)
set(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2main.lib")
else ()
set(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2main.lib")
endif ()
string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)
#ADD EXECUTABLES
add_executable(cuongraph main.cpp)
target_link_libraries(cuongraph inc SDL2)
Сообщение об ошибке
[cmake] Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18363.
[cmake] Configuring done
[cmake] Generating done
[build] Запуск сборки.
[proc] Выполнение команды: "C:\Program Files\cmake-3.13.0-rc1-win64-x64\bin\cmake.EXE" --build c:/Users/arch/.vscode/repos/cuongraph/build --config Debug --target cuongraph -- /maxcpucount:10
[build] Microsoft (R) Build Engine версии 15.9.21+g9802d43bc3 для .NET Framework
[build] (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
[build]
[build] Сборка начата 28.01.2021 14:14:58.
[build] 1>Проект "C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj" в узле 1 (целевые объекты по умолчанию).
[build] 1>Проект "C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj" (1) выполняет сборку "C:\Users\arch\.vscode\repos\cuongraph\build\ZERO_CHECK.vcxproj" (2) в узле 1 (целевые объекты по умолчанию).
[build] 2>InitializeBuildStatus:
[build] Создание "win32\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
[build] CustomBuild:
[build] Для всех выходных данных обновления не требуется.
[build] FinalizeBuildStatus:
[build] Файл "win32\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" удаляется.
[build] Обращение к "win32\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
[build] 2>Сборка проекта "C:\Users\arch\.vscode\repos\cuongraph\build\ZERO_CHECK.vcxproj" завершена (целевые объекты по умолчанию).
[build] 1>InitializeBuildStatus:
[build] Обращение к "cuongraph.dir\Debug\cuongraph.tlog\unsuccessfulbuild".
[build] CustomBuild:
[build] Для всех выходных данных обновления не требуется.
[build] ClCompile:
[build] C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x86\CL.exe /c /Zi /nologo /W3 /WX- /diagnostics:classic /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"cuongraph.dir\Debug\\" /Fd"cuongraph.dir\Debug\vc141.pdb" /Gd /TP /analyze- /errorReport:queue -std=c++0x C:\Users\arch\.vscode\repos\cuongraph\main.cpp
[build] 1>cl : командная строка warning D9002: пропуск неизвестного параметра "-std=c++0x" [C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj]
[build] main.cpp
[build] Link:
[build] C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x86\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Users\arch\.vscode\repos\cuongraph\build\Debug\cuongraph.exe" /INCREMENTAL /NOLOGO inc.lib SDL2.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Users/arch/.vscode/repos/cuongraph/build/Debug/cuongraph.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Users/arch/.vscode/repos/cuongraph/build/Debug/cuongraph.lib" /MACHINE:X86 /SAFESEH /machine:X86 cuongraph.dir\Debug\main.obj
[build] 1>LINK : fatal error LNK1104: эх єфрхЄё юЄъЁ√Є№ Їрщы "inc.lib" [C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj]
[build] 1>Сборка проекта "C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj" завершена (целевые объекты по умолчанию) с ошибкой.
[build]
[build] Ошибка сборки.
[build]
[build] "C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj" (целевой объект по умолчанию) (1) ->
[build] (ClCompile конечный объект) ->
[build] cl : командная строка warning D9002: пропуск неизвестного параметра "-std=c++0x" [C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj]
[build]
[build]
[build] "C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj" (целевой объект по умолчанию) (1) ->
[build] (Link конечный объект) ->
[build] LINK : fatal error LNK1104: эх єфрхЄё юЄъЁ√Є№ Їрщы "inc.lib" [C:\Users\arch\.vscode\repos\cuongraph\build\cuongraph.vcxproj]
[build]
[build] Предупреждений: 1
[build] Ошибок: 1
[build]
[build] Прошло времени 00:00:01.21
[build] Сборка выполнена с кодом выхода 1.