zoukankan      html  css  js  c++  java
  • cocos2dx 3.10 Win32和Android引用libcurl库路径问题

    cocos2dx 对于一些第三方库的引用路径上很多都不太明确,导致初学者挖坑不断,我之前玩的最后一个版本是3.6结果代码移植到3.10又各种编译不过,真是太蛋疼。典型的就是

    libcurl库引用的问题

    先说WIN32上,千万要注意路径问题,还有lib文件路径都得准确,为了避免以后移植麻烦,不要对WIN32工程改动包含库目录这个功能,在代码里这么引用才是正确的姿势

    #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
        #include "curl/include/win32/curl/curl.h"//头文件位置  
        #pragma comment(lib,"libcurl_imp.lib")//动态链接库位置  
    #endif  

    再说最关键的Android上,Android.mk上要特别注意在最后面加上
    $(call import-module,./curl/prebuilt/Android)这句表示引入这个模块,至于路径为什么这么写,因为从cocos studio的默认ndk编译参数为:
    NDK_MODULE_PATH=C:Cocoscocos2d-x/cocos2d-x-3.10;C:Cocoscocos2d-x/cocos2d-x-3.10/cocos;C:Cocoscocos2d-x/cocos2d-x-3.10/external

    所以也就代表着从上面三个目录里寻找你要加载模块的.mk文件的目录,代码里应该#include “curl/curl.h”

    所以代码里最终是如下这样的姿势:

    #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
        #include "curl/include/win32/curl/curl.h"//头文件位置  
        #pragma comment(lib,"libcurl_imp.lib")//动态链接库位置  
    #else if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)  
    #include "curl/curl.h"//头文件位置  
    #endif 

    mk文件是这样设置的

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE := cocos2dcpp_shared
    LOCAL_MODULE_FILENAME := libcocos2dcpp
    define walk
    $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
    endef
    ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
    FILE_LIST := hellocpp/main.cpp
    FILE_LIST += $(filter %.cpp, $(ALLFILES))
    LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
    LOCAL_STATIC_LIBRARIES := cocos2dx_static
    include $(BUILD_SHARED_LIBRARY)
    $(call import-module,./prebuilt-mk)
    $(call import-module,./curl/prebuilt/android)

  • 相关阅读:
    什么是Code Review
    支撑5亿用户、1.5亿活跃用户的Twitter最新架构详解及相关实现
    shell的数组操作
    CDN(内容分发网络)技术原理
    云计算服务模型,第 3 部分: 软件即服务(PaaS)
    Mongodb
    360的开源项目
    用linux mail命令发送邮件[Linux]
    BZOJ2761:[JLOI2011]不重复数字(map)
    BZOJ1821:[JSOI2010]部落划分(并查集,二分)
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12538212.html
Copyright © 2011-2022 走看看