皮皮网

【预警 源码】【爱心app源码】【彩色爱心源码】sdl源码编译

来源:梅花烙1080源码 时间:2024-11-24 22:27:19

1.sdlԴ?源译????
2.wxsqlite静态编译 sqlite3加密 的简单方法
3.音视频开发_SDL入门
4.SDL开发笔记(一):SDL介绍、编译使用以及工程模板

sdl源码编译

sdlԴ?码编????

       在尝试编译Android 4.0.x版本的源码时,遇到的源译问题多种多样。以下是码编将这些问题及其解决方案列举出来的内容,条目之间换行,源译以清晰的码编预警 源码条目编号呈现。

       1. 错误:/usr/include/gnu/stubs.h:7:: error: gnu/stubs-.h: No such file or directory

        解决:sudo apt-get install libc6-dev-i

       2. 错误:make: *** [out/host/linux-x/obj/EXECUTABLES/acp_intermediates/acp] error 1

        解决:sudo apt-get install g++-4.4-multilib

       3. 错误:external/clearsilver/cgi/cgi.c:: fatal error: zlib.h: No such file or directory

        解决:sudo apt-get install zlib1g-dev

       4. 错误:/usr/bin/ld: cannot find -lz

        解决:sudo apt-get install libz1-dev

       5. 错误:bison -d -o out/host/linux-x/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y

        解决:sudo apt-get install bison

       6. 错误:Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l

        解决:sudo apt-get install flex

       7. 错误:/usr/bin/ld: cannot find -lncurses

        解决:sudo apt-get install libncurses5-dev

       8. 错误:prebuilt/linux-x/sdl/include/SDL/SDL_syswm.h:: fatal error: X/Xlib.h: No such file or directory

        解决:sudo apt-get install libx-dev

       9. 错误:sh: gperf: not found

        解决:sudo apt-get install gperf

       . 错误:build/core/java.mk:9: *** bin: Target java module does not define any source or resource files. Stop.

        解决:删除源码根目录下的源译bin文件夹,这个文件夹是码编导入eclipse时创建的。

       . 错误:/usr/bin/ld: cannot find -lX

        解决:sudo ln -s /usr/lib/i-linux-gnu/libX.so.6 /usr/lib/i-linux-gnu/libX.so

       . 错误:development/tools/emulator/opengl/host/libs/Translator/GLDispatch.cpp:: fatal error: GL/glx.h: No such file or directory

        解决:sudo apt-get install libgl1-mesa-dev

       . 错误:host SharedLib: libEGL_translator (out/host/linux-x/obj/lib/libEGL_translator.so)

        解决:sudo apt-get install libglu1-mesa-dev

       . 错误:host StaticLib: libGLcommon (out/host/linux-x/obj/STATIC_LIBRARIES/libGLcommon_intermediates/libGLcommon.a)

        解决:sudo ln -s /usr/lib/i-linux-gnu/mesa/libGL.so.1 /usr/lib/i-linux-gnu/libGL.so

       . 错误:make: *** [out/host/linux-x/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1

        后来发现了,源译原来是码编Ubuntu .里的gcc和g++版本太高了,于是源译执行下面的操作:

        sudo apt-get install gcc-4.4

        sudo apt-get install g++-4.4

        sudo rm -rf /usr/bin/gcc /usr/bin/g++

        sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

        sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++

        把默认的4.6版本换为了4.4,继续编译源码,码编又出现了另一个错误,源译大致提示为:

        g++ selected multilib '' not installed

        继续奋战吧,码编安装相应的源译工具吧:sudo apt-get install g++-4.4-multilib,现在正在make -j8(开启多线程编译(不推荐),可能有时候会出现问题,最好是直接make)

       2. 解决各种依赖问题

        首先安装一些库

        ?View Code BASH

        1 sudo apt-get install gnupg flex bison gperf libsdl1.2-dev libesd0-dev

        2 sudo apt-get install libwxgtk2.6-dev squashfs-tools build-essential

        3 sudo apt-get install zlib1g-dev pngcrush schedtool ia-libs libncurses5-dev

        这些库可能不全,如果出现问题,爱心app源码再google一下吧

       3. error: “_FORTIFY_SOURCE” redefined [-Werror]

        这个问题,据说与gcc版本有关,4.4版不会出现。

        后来在google code上找到了使用gcc 4.6编译的方法

        修改build/core/combo/HOST_linux-x.mk文件line

        ?View Code BASH

        1 -HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0

        2 +HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0

        这是CyanogenMod打上的补丁

       4. No rule to make target ‘out/target/product/generic/obj/lib/libcamera.so’

        修改 /home/Android-2.3.4/frameworks/base/services/camera/libcameraservice/Android.mk,USE_CAMERA_STUB:=false -> true

        ?View Code BASH

        1 LOCAL_PATH:= $(call my-dir)

        2

        3 # Set USE_CAMERA_STUB if you don't want to use the hardware camera.

        4

        5 # force these builds to use camera stub only

        6 ifneq ($(filter sooner generic sim,$(TARGET_DEVICE)),)

        7 USE_CAMERA_STUB:=true

        8 endif

        9

        #########CHANGE THIS LINE############

        USE_CAMERA_STUB:=true

       

        ifeq ($(USE_CAMERA_STUB),)

        USE_CAMERA_STUB:=false

        endif

wxsqlite静态编译 sqlite3加密 的简单方法

       针对需要在项目中集成sqlite3加密功能的需求,可选择wxsqlite作为解决方案。相较于其他推荐的工具,wxsqlite提供了更为简便的静态编译方式。

       通过使用xmake作为包管理器,发现wxsqlite的集成相对简单,无需面对复杂的库文件与配置问题。选择wxsqlite的理由在于其提供了合并的C文件,只需将其包含至项目中即可。

       首先,下载wxsqlite源码,并在对应的目录下找到需要的两个文件。这些文件是wxsqlite的关键组成部分,直接将它们加入到项目内即可实现功能集成。彩色爱心源码

       在构建系统中,只需简单配置,添加必要的包含路径,即可实现wxsqlite的静态编译。整个过程简洁高效,无需面对繁琐的库文件管理和复杂配置。

       在项目中直接包含头文件,使用wxsqlite的加密功能即可。对于设置选项,通常默认配置已能满足基本需求,无需额外调整。

       使用wxsqlite后,可发现程序的执行文件大小略有增加,例如,加入SDL2后,执行文件大小增加了2M,加入skia后,增加了7、摸鱼文案 源码8M。这些额外的大小主要源自于所集成的额外依赖库。

       针对不需进行图形绘制的情况,可选择使用SVG格式替代,通过SDL_image库处理SVG文件,同样可以实现所需的视觉效果。这种方法在简化代码的同时,也减少了依赖库的使用,进一步优化了项目的大小。

       总体而言,通过wxsqlite实现sqlite3加密功能的过程简单明了,无需面对复杂的编译与配置问题。对于游戏项目而言,即使执行文件大小有所增加,对于整体的资源占用来说仍然属于较小的影响。

       使用wxsqlite后,观察到编译后的执行文件大小相较于其他方法,保持在合理的命理学源码范围内,通常在1M以上。这表明在集成wxsqlite时,已较好地控制了对项目资源的影响。

音视频开发_SDL入门

       SDL 是一个用于游戏开发中的多媒体处理的开源项目,它提供了一个跨平台的多媒体库,通过一套统一的接口在不同平台下调用不同的底层 API 库。在 Linux 系统下,它使用 OpenGL 做渲染,而在 Window 下则调用 D3D API 进行渲染。因为其在游戏开发中的广泛使用,被许多开发者所熟悉。

       我选择介绍 SDL 是因为计划在多媒体播放器开发中使用它。SDL 包括 SDL1 和 SDL2 两个主要版本,其中 SDL2 是主流且更被广泛使用。因此,这里我们以 SDL2 为例进行讲解。

       使用 SDL2 的基本流程主要包括源码编译、安装以及在程序中使用 SDL2。编译并安装 SDL2 后,在程序中应用 SDL2 的步骤非常简单,只需完成基本步骤即可绘制出窗口。然而,这只是 SDL 基础应用的一部分,若想了解更多内容,欢迎关注后续文章。

       SDL API 介绍:在 SDL 应用中,常常会用到的几个 API 包括但不限于:返回值、打印日志和销毁窗口。每个 API 都有其特定的功能,例如返回值用于判断操作是否成功,打印日志用于调试,销毁窗口用于窗口管理。对于具体用法,将在后续文章中详细介绍。

       以下是一个使用 SDL 创建窗口的完整例子,可在 Linux/mac 环境下运行。使用命令编译此程序,执行后可观察到运行结果。尽管程序能正常编译并执行,但创建的窗口无法显示。在后续文章中将介绍如何让窗口正常显示。

       使用 SDL 相对简单易用,它不仅对图像渲染做了封装,还对音频处理等其他媒体 API 进行了封装,减少了开发工作量。SDL 是一款优秀的多媒体库,除了直接使用,通过分析其源码,还可以学习到许多使用底层 API 的技巧,对于播放器开发尤为重要。

       希望本文能够帮助你了解和进入 SDL 的世界,期待与你共同探索多媒体开发的精彩。

SDL开发笔记(一):SDL介绍、编译使用以及工程模板

       若该文为原创文章,未经允许不得转载 原博主博客地址: blog.csdn.net/qq...

       Qt开发专栏:三方库开发技术(点击传送门)

       无 下一篇:持续补充中…

       前言

       开发过程中,需要操作一些硬件,如播放音频、播放视频,SDL作为通用的C库,可以实现同一套代码操作设备。

       SDL简介

       Simple DirectMedia Layer是一个跨平台的开发库,旨在通过OpenGL和Direct3D提供对音频、键盘、鼠标、操纵杆和图形硬件的低级访问。它用于视频播放软件、模拟器和流行游戏,包括Valve获奖目录和许多不起眼的捆绑游戏。 SDL正式支持Windows、macosx、Linux、iOS和Android。源代码中可以找到对其他平台的支持。 SDL是用C++编写的,用C++来工作,并且还有其他几种语言的绑定,包括C语言和Python。 sdl2.0是在zlib许可下发布的。此许可证允许您在任何软件中自由使用SDL。

       SDL下载

       当前最新的版本2.0.,官方地址: /downl... QQ群:(点击“文件”搜索“SDL”,群内与博文同步更新)。

       SDL编译

       步骤一:解压文件夹

       步骤二:使用CMake配置项目

       配置路径,勾选配置相关的选项,然后点击配置:

       配置生成工程的编译器类型和具体的编译器,如下图:

       选择Qt5.9.3,mingw的c和c++编译器,如下图:

       生成工程,如下图:

       配置成功,然后“Generate”生成工程,如下图:

       修改一下安装路径,方便提取模块化,再配置然后生成工程。

       步骤三:使用mingw编译

       打开Q5的mingw编译命令行:

       切换到生成工程的路径:

       开启四线程编译:

       步骤四:编译成功

       步骤五:安装install

       模块化

       Demo

       该Demo为SDL模块化的测试环境,仅用于测试添加模块后,SDL环境配置是否成功。

       测试代码

       bool SDLManager::testEnv() { // 初始化SDL if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)== -1)) { // 初始化失败,打出错误 qDebug() << __FILE__ << __LINE__ << "Failed to SDL_INIT_VIDEO|SDL_INIT_AUDIO" << SDL_GetError(); return false; }else { qDebug() << __FILE__ << __LINE__ << "succeed to SDL_INIT_VIDEO|SDL_INIT_AUDIO"; } SDL_Quit(); return true; }

       测试结果

       工程模板:对应版本号v1.0.0

       对应版本号v1.0.0:开发环境模板

       无 下一篇:持续补充中…

       原博主博客地址: blog.csdn.net/qq... 原博主博客导航: blog.csdn.net/qq... 本文章博客地址: blog.csdn.net/qq...