Я пытаюсь создать игру с библиотекой Raylib. До сих пор я просто пробовал внутри main.cpp
и всегда компилировал свой код с этой строкой внутри терминала.
clang -std=c++11 -framework CoreVideo -framework IOKit -framework Cocoa -framework GLUT -framework OpenGL libraylib.a main.cpp -o my_app
Теперь я хочу воссоздать игру Snake просто для удовольствия. Я думал, что буду мудрым, разложив основной файл. cpp в несколько файлов sr c, но на самом деле я не знаю, как мне все это скомпилировать. Я пытался создать CMakeList.txt так:
cmake_minimum_required (VERSION 3.0)
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework CoreVideo")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework IOKit")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework Cocoa")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework GLUT")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework OpenGL")
project(Snake)
add_executable(
Snake
main.cpp
Snake.cpp
)
target_link_libraries(main ${CMAKE_SOURCE_DIR}/librarylib.a)
, но это не работает. Это сообщение об ошибке.
CMake Error at CMakeLists.txt:18 (target_link_libraries):
Cannot specify link libraries for target "main" which is not built by this
project.
-- Configuring incomplete, errors occurred!
Есть ли лучшие способы компилировать этот проект, и кто-нибудь может мне объяснить, что на самом деле делает флаг -framework
? Я все еще хочу использовать VSCode, потому что я хочу научиться использовать терминал немного лучше.
Редактировать: Информационная форма brew ls --verbose raylib
:
/usr/local/Cellar/raylib/2.5.0/LICENSE.md
/usr/local/Cellar/raylib/2.5.0/INSTALL_RECEIPT.json
/usr/local/Cellar/raylib/2.5.0/.brew/raylib.rb
/usr/local/Cellar/raylib/2.5.0/CHANGELOG
/usr/local/Cellar/raylib/2.5.0/include/raylib.h
/usr/local/Cellar/raylib/2.5.0/HISTORY.md
/usr/local/Cellar/raylib/2.5.0/README.md
/usr/local/Cellar/raylib/2.5.0/lib/pkgconfig/raylib.pc
/usr/local/Cellar/raylib/2.5.0/lib/cmake/raylib/raylib-config-version.cmake
/usr/local/Cellar/raylib/2.5.0/lib/cmake/raylib/raylib-config.cmake
/usr/local/Cellar/raylib/2.5.0/lib/libraylib.2.5.0.dylib
/usr/local/Cellar/raylib/2.5.0/lib/libraylib.2.dylib
/usr/local/Cellar/raylib/2.5.0/lib/libraylib.a
/usr/local/Cellar/raylib/2.5.0/lib/libraylib.dylib