c - 一起编译 SDL 和 GTK+
问题描述
我一直在尝试在 Linux、Ubuntu 上一起编译 SDL 和 GTK+。该程序输出两个窗口,一个 GTK+ 和一个并行的 SDL,但我似乎无法将它们编译在一起。
它似乎没有正确链接到 SDL 库。我的代码和编译标志在单独运行 SDL 和 GTK+ 时工作,而不是一起运行。
这些是我得到的编译标志和错误消息:
gcc entry.c -o entry `pkg-config --cflags gtk+-3.0` `sdl2-config --cflags` `pkg-config --libs gtk+-3.0` -lm -lSDL2_ttf
错误信息:
/tmp/cc0u3LoN.o: In function `main':
entry.c:(.text+0x48): undefined reference to `SDL_Quit'
/tmp/cc0u3LoN.o: In function `create_window':
entry.c:(.text+0x355): undefined reference to `SDL_Init'
entry.c:(.text+0x37c): undefined reference to `SDL_CreateWindow'
entry.c:(.text+0x3a1): undefined reference to `SDL_CreateRenderer'
collect2: error: ld returned 1 exit status
这是我的主要内容:
int main(int argc, char *argv[])
{
gtk_init(&argc, &argv);
SDL_Surface *screen;
SDL_Event event;
SDL_Simplewin *sw;
create_window(sw);
openGtkWindow();
/*display_text(sw);*/
SDL_Quit();
return 0;
gtk_main();
return 0;
}
这些是我在标题中使用的库:
gtk/gtk.h,errno.h,SDL.h,stdio.h,string.h,stdlib.h,math.h,SDL_ttf.h
解决方案
推荐阅读
- docker - chown(容器文件)的执行被挂起
- laravel - 如何在 laravel 中使用 Spatie 为所有使用播种机的用户添加分配角色?
- ios - 如何使用 swifty 变量解析这种类型的 Json swift,我希望将单元号转换为数组并从标签中获取详细信息
- ios - 错误:参数类型“日期?” 不符合预期类型“ReferenceConvertible”
- java - 使用 Morphia 的 MongDB Atlas SRV 连接
- php - Codeigniter(3) 表单验证对于 GET 方法总是返回 FALSE
- javascript - 在javascript中使用split函数后如何推送变量?
- android - 找不到 react-native-fs 路径?
- python - 使用正则表达式提取日期和文件名
- powershell - 在 powershell $null 属性中过滤或查询