如何用 C 编译 SoLoud 库的演示示例?
Posted
技术标签:
【中文标题】如何用 C 编译 SoLoud 库的演示示例?【英文标题】:How to compile the demo example of SoLoud library in C? 【发布时间】:2020-10-19 21:28:50 【问题描述】:我计划在我的 C 项目中使用 SoLoud 库 (https://sol.gfxile.net/soloud/index.html)。我无法理解如何编译包含在中的 C 演示文件
/demos/c_test/
使其可执行。 有人可以帮我理解如何使用 gcc 编译它吗?
【问题讨论】:
嘿@4nTO!请提供一些附加信息:您已经尝试了什么,您遇到了什么类型的错误?你用什么平台? 【参考方案1】:在 demos/c_test/main.c 中,
我变了:
#include "soloud_c.h"
到
#include "../../include/soloud_c.h"
并编译。但是,编译器会输出以下警告:
gcc -ggdb3 -Wall -Wextra -Wconversion -pedantic -std=gnu11 -c "main.c" -o "main.o" main.c:
In function ‘generate_sample’:
main.c:72:38: warning: conversion from ‘int’ to ‘float’ may change value [-Wconversion]
72 | buf[i] += (((rand() % 1024) - 512) / 512.0f) *
| ^
main.c:75:36: warning: conversion from ‘int’ to ‘float’ may change value [-Wconversion]
75 | float fade = (44100 * 10 - base) / (44100 * 10.0f);
| ^
main.c: In function ‘main’:
main.c:129:14: warning: unused parameter ‘parc’ [-Wunused-parameter]
129 | int main(int parc, char ** pars)
| ~~~~^~~~
main.c:129:28: warning: unused parameter ‘pars’ [-Wunused-parameter]
129 | int main(int parc, char ** pars)
| ~~~~~~~~^~~~
Compilation finished successfully.
注意:我没有费心链接可执行文件,但是,我确实注意到了一些感兴趣的项目。
-
可用的库是 *.dll 文件,因此需要在 Windows 操作系统下编译/链接。
“bin”目录下是库:soloud_x64.dll、soloud_x86.dll 和 SDL2.dll。我不知道您的特定计算机需要包含哪些库
【讨论】:
感谢您的回复。我已经成功编译了该程序,但我无法制作可执行文件。我忘了指定我需要在 Ubuntu 上执行此操作,是否有可能,或者这个库只能在 Windows 上使用? (我认为)ubuntu linux 无法识别 *.dll 库以上是关于如何用 C 编译 SoLoud 库的演示示例?的主要内容,如果未能解决你的问题,请参考以下文章
前端每日实战:119# 视频演示如何用纯 CSS 创作一个接扎啤的动画(内含2个视频)
在 gouraud shading 中,啥是 T-junction 问题以及如何用 OpenGL 演示它
前端每日实战:102# 视频演示如何用纯 CSS 创作一个小和尚