Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何让SDL2在Mac上的CLION上工作?还是更好的方法?_C++_Cmake_Sdl 2_Clion - Fatal编程技术网

C++ 如何让SDL2在Mac上的CLION上工作?还是更好的方法?

C++ 如何让SDL2在Mac上的CLION上工作?还是更好的方法?,c++,cmake,sdl-2,clion,C++,Cmake,Sdl 2,Clion,所以我一直在到处寻找,试图找出如何设置这个。我正在使用MacOS 11,我正在尝试让SDL2在我的笔记本电脑上工作。 我的CMakeLists.txt文件如下所示 cmake_minimum_required(VERSION 3.19) project(SDL_practice) set(CMAKE_CXX_STANDARD 14) # includes cmake/FindSDL2.cmake set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmak

所以我一直在到处寻找,试图找出如何设置这个。我正在使用MacOS 11,我正在尝试让SDL2在我的笔记本电脑上工作。 我的CMakeLists.txt文件如下所示

cmake_minimum_required(VERSION 3.19)
project(SDL_practice)

set(CMAKE_CXX_STANDARD 14)

# includes cmake/FindSDL2.cmake
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIR})

set(SOURCE_FILES main.cpp)

add_executable(SDL2_App ${SOURCE_FILES})
target_link_libraries(SDL2_App ${SDL2_LIBRARY})

set(SOURCE_FILES main.cpp)
add_executable(SDL2_Lesson_1 ${SOURCE_FILES})
#include <iostream>
#include <SDL2/sdl.h>

int main(int argc, char * argv[]) {
    SDL_Init(SDL_INIT_VIDEO);
    SDL_Window *window = SDL_CreateWindow("Fen", 640, 480, 640, 480, SDL_WINDOW_SHOWN);

    auto screenSurface = SDL_GetWindowSurface( window );
    
    SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );
    
    SDL_UpdateWindowSurface( window );

    SDL_Delay(3000);
    
    SDL_DestroyWindow( window );
    
    SDL_Quit();
    return 0;
}
我写了一些代码来创建一个如下所示的窗口

cmake_minimum_required(VERSION 3.19)
project(SDL_practice)

set(CMAKE_CXX_STANDARD 14)

# includes cmake/FindSDL2.cmake
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIR})

set(SOURCE_FILES main.cpp)

add_executable(SDL2_App ${SOURCE_FILES})
target_link_libraries(SDL2_App ${SDL2_LIBRARY})

set(SOURCE_FILES main.cpp)
add_executable(SDL2_Lesson_1 ${SOURCE_FILES})
#include <iostream>
#include <SDL2/sdl.h>

int main(int argc, char * argv[]) {
    SDL_Init(SDL_INIT_VIDEO);
    SDL_Window *window = SDL_CreateWindow("Fen", 640, 480, 640, 480, SDL_WINDOW_SHOWN);

    auto screenSurface = SDL_GetWindowSurface( window );
    
    SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );
    
    SDL_UpdateWindowSurface( window );

    SDL_Delay(3000);
    
    SDL_DestroyWindow( window );
    
    SDL_Quit();
    return 0;
}
#包括
#包括
int main(int argc,char*argv[]){
SDL_Init(SDL_Init_视频);
SDL_Window*Window=SDL_CreateWindow(显示为Fen、640、480、640、480、SDL_Window);
自动屏幕表面=SDL_GetWindowSurface(窗口);
SDL_FillRect(屏幕表面,NULL,SDL_映射RGB(屏幕表面->格式,0xFF,0xFF,0xFF));
SDL_更新内表面(窗口);
SDL_延迟(3000);
SDL_窗口(窗口);
SDL_退出();
返回0;
}
当我运行此代码时,我的计算机上不会弹出任何窗口。
在设置或cpp文件中是否存在导致此问题的错误。或者如果有更好的方法在mac上学习SDL2,请告诉我

这回答了你的问题吗?