美文网首页
cocos2d-x 动态库无法加载资源文件

cocos2d-x 动态库无法加载资源文件

作者: 最晴天 | 来源:发表于2017-06-20 11:01 被阅读70次

很奇怪在使用cocos2d-x测试的demo中,加载自定义的资源文件路径就完全没问题,但通过打包的动态库来运行,cocos2d-x的图片就加载不出来,有小伙伴说是没有bundle的问题,这误会就大发了。我们通常会将库的资源文件放在bundle中,是为了避免库中的图片名和工程中使用的图片名冲突的问题。
问题在于工程的设置。
动态库和测试demo,都设置了COMPRESS_PNG_FILES 为NO,但是检查来检查去也不明白问题在哪里,最后百度发现问题在这里,REMOVE_TEXT_METADATA_FROM_PNG_FILES同样需要设置为NO
在Target-build settings中,


屏幕快照 2017-06-20 上午10.54.42.png

点击+,添加自定义选项设置。设置如下

屏幕快照 2017-06-20 上午10.58.15.png

为cocos2d-x设置资源路径

NSString *rPath = @"SXResources";
std::vector<std::string> searchPathList;
    searchPathList.push_back([rPath UTF8String]);
    cocos2d::FileUtils::getInstance()->setSearchPaths(searchPathList);
注意:

cocos2d-x的资源文件夹默认是Resources。
如下图中,资源文件一定要是蓝色文件才可以,并且蓝色文件的名字不能是Resources,否则运行会报错。


屏幕快照 2017-06-20 上午11.37.02.png

添加进去的资源文件,在Added folders中要选择Create folder references才可以(添加的文件是有目录的),为蓝色文件夹形式存在。它只是将文件单纯的创建了引用,这些文件不会被编译,所以在使用的时候需要加入其路径;

而Create groups并不会存在于项目的目录中:使用Create groups 我们在项目中可以手动添加一个groups(右键点击选择New Group),
但是手动添加的groups实际上并不会存在于项目的目录中,被添加进groups中的文件仍在位于它原来所在的位置,
但从外部引入进来的groups并不会如此。groups一旦被创建或添加,都是以黄色文件夹的形式存在的,
当你想要使用文件夹中的某个类的头文件时,你可以直接添加它的引用。因为groups下的文件是会被编译的。

屏幕快照 2017-06-20 上午11.39.33.png
附赠小技巧:

如何删除build settings的某一项?
答:选中该行,按delete键即可
如何重命名build settings的选项?
答:选中改行,按Enter键即可

参考:
http://blog.csdn.net/zyq522376829/article/details/52484182
http://blog.csdn.net/sinat_20037505/article/details/51549824
IOS中获取各种文件的目录路径的方法
http://blog.csdn.net/better_dong/article/details/52071901

相关文章

  • cocos2d-x 动态库无法加载资源文件

    很奇怪在使用cocos2d-x测试的demo中,加载自定义的资源文件路径就完全没问题,但通过打包的动态库来运行,c...

  • 加载自定义bundle中资源

    bundle 存储资源(图片、xib、storyboard) 加载bundle有很多方式 .a静态库加载 动态库加载方式

  • 6.动态加载

    对动态库的加载分为自动加载和动态加载两种1.1 动态加载:程序的执行期间,需要使用到某个动态库中的文件的时候,可以...

  • iOS- 静态库、动态库、Bundle

    静态库:.a文件、framework文件动态库:.tbd文件、framework文件Bundle: 资源文件 ...

  • 安卓,so库动态载入

    so库动态载入,修复应用无法安装。 (so库动态加载示例。从asset目录加载so库,安装时不导出so库,不会导致...

  • 动态链接库加载的具体流程

    动态链接库加载的具体流程 动态链接库的加载步骤具体分为5步: load dylibs image 读取库镜像文件 ...

  • DYLD

    一、dyld dyld (动态库加载器),负责加载程序和程序所以依赖的动态库。内核读取 Mach-O 文件后将读取...

  • iOS-静态库&动态库-Embed&Sign

    1、静态库&动态库 1.1 库介绍 程序的run流程:编译->链接->生成可执行文件->运行(加载可执行文件&动态...

  • 热更新实现方式

    SDK 动态加载替换资源和类文件可以有几种实现方式,一种是可以资源文件和代码分开进行加载与替换,例如加载图片资源文...

  • 动态加载动态库函数

    1、简单的说,前面的动态库的制作和使用一节中,在加载时需要动态加载的资源在执行时被全部加载,而动态加载说的就是加载...

网友评论

      本文标题:cocos2d-x 动态库无法加载资源文件

      本文链接:https://www.haomeiwen.com/subject/udeoqxtx.html