小编The*_*fix的帖子

在 C 程序中链接 SDL

在学习了 C 的一些基础知识后,我最近对使用 SDL 产生了兴趣。我安装了 SDL_image 和 SDL_mixer。它们位于 /usr/local/include/SDL2 中。我意识到您必须链接头文件,但我不知道该怎么做。我收到 SDL_mixer 或 SDL_image 不存在的错误(取决于它们在我的源代码中的行顺序)。我尝试了两种不同的编译命令,但在这里都不起作用:

gcc filename.c -o test -I./include -L./usr/local/include/SDL2 -lSDL2main -lSDL2 -lSDL_mixer -lSDL_image

gcc filename.c -o test -I./usr/local/include/SDL2 -L./lib -lSDL2main -lSDL2 -lSDL_mixer -lSDL_image
Run Code Online (Sandbox Code Playgroud)

如果有人有任何想法,我将不胜感激!提前致谢!

c sdl

2
推荐指数
1
解决办法
4360
查看次数

取消引用指向不完整类型“struct ____”的指针

我试图在 C 中创建一种可以接受大多数原始类型的类型。我是 C 新手,不太了解结构。我的错误发生在第 10 行(main.c),如果删除第 10 行(也是 main.c),它也会发生在第 11 行。如果有人有想法/指示,我将不胜感激!非常感谢!

主文件:

#include <stdio.h>

#include "modularType.h"

int main()
{
    int data = 1;

    PyType object = createPyObjectInt(data);
    printf("Type of data:  %d\n", object->typeOfData);
    printf("Value of data: %d\n", object->intData);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

模块化类型.h:

typedef struct pytype *PyType;

PyType createPyObjectEmpty(void);
PyType createPyObjectInt(int data);

void setDataInt(PyType, int data);
void setDataIntStar(PyType, int* data);

void freeMyType(PyType);
void freeCharStar(PyType);
void freeIntStar(PyType);
void freeFloatStar(PyType);
Run Code Online (Sandbox Code Playgroud)

模块化类型.c:

#include <stdlib.h>
#include <stdio.h>

#ifndef NEW_TYPE
#define NEW_TYPE

#include "modularType.h"

typedef enum …
Run Code Online (Sandbox Code Playgroud)

c struct pointers

0
推荐指数
1
解决办法
8884
查看次数

标签 统计

c ×2

pointers ×1

sdl ×1

struct ×1