c - 在 Ubuntu 中使用 CLION 未定义对 SDL2 函数的引用
问题描述
这是我在stackoverflow上的第一篇文章,所以请理解:)
我在 C 项目中的 Ubutun 上使用 CLion,在我开始使用 SDL2 之前一切正常……我遇到错误:未定义对 « SDL_CreateWindow » 的引用以及我想使用的所有 SDL2 函数。我读了很多相同的错误,但在 Windows 和 Ubuntu 上,没有人...
我是 Makefiles 和 C 的初学者
那是我的代码:main.c
#include "main.h"
#include "sdl_functions.h"
int main() {
int (*pieces) [10][10] = NULL;
return 0;
}
sdl_functions.c
#include <SDL2/SDL.h>
#include "sdl_functions.h"
void displayPiece(){
SDL_Window* window;
SDL_Renderer* renderer;
window=SDL_CreateWindow("TESTWINDOW", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 800, 0);//error undefined reference to SDL_CreateWindow
}
这就是我的 CMakeLists.txt
cmake_minimum_required(VERSION 3.17)
project(project_name C)
set(CMAKE_C_STANDARD 99)
SET(CMAKE_CXX_LINK_FLAGS "-lSDL2")
add_executable(project_name main.c main.h sdl_functions.c sdl_functions.h)
解决方案
也许,我在这篇文章 Linking SDL2 - CLion - Ubuntu 16.04 - G++中找到了解决方案
你必须打开你的 CMakeLists.txt
并像这样修改这个文件:
cmake_minimum_required(VERSION 3.17)
project(project_name C)
set(CMAKE_C_STANDARD 99)
find_package(SDL2 REQUIRED SDL2)
SET(CMAKE_CXX_LINK_FLAGS "-lSDL2")
add_executable(project_name main.c main.h sdl_functions.c sdl_functions.h)
target_link_libraries(project_name PRIVATE SDL2)
现在我有一个退出代码 0,所以目前它似乎有效
推荐阅读
- python - 如何在python龙卷风中测量每秒请求?
- c# - 我制作的示例代码中的这个“变量”/“实例化”到底是什么?
- java - Java / Erlang:Diffie Hellman 密钥交换不起作用
- python - 从源代码运行python项目时,如何避免与已安装的包冲突
- android - 滚动时 listView 中的 Textview 变回
- javascript - 如何将 String.prototype.startsWith 过滤器与 html 表一起使用
- php - 如何在foreach中将字符串组合成单个字符串?php
- python - TypeError:从扫描的 PDF 中提取文本时,“type”类型的参数不可迭代
- python - manage.py createsuperuser 不使用自定义用户模型
- python - 如何在以下列格式输出的列表中插入列表:[a, b, c] => [ [c], [b, c], [a, b, c]]