避免分别添加项目

Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里       
        分类:            Cocos2d-X基础入门 161人阅读 评论(0) 收藏 举报

手工输入项目需要编译的cpp文件到Android.mk里的缺点

1)繁琐,如果cpp文件很多,简直无法忍受

2)手工输入过程中容易出现错误

3)如果cpp文件更改名称,需要修改Android.mk文件

。。。。等等

下面的样例代码转自:https://gist.github.com/andyque/6060595

  1. <span style="font-family: SimHei; font-size: 18px;">LOCAL_PATH := $(call my-dir) 
  2.   
  3. include $(CLEAR_VARS) 
  4.   
  5. LOCAL_MODULE := game_shared 
  6.   
  7. LOCAL_MODULE_FILENAME := libgame 
  8.   
  9. #traverse all the directory and subdirectory 
  10. define walk 
  11.   $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e))) 
  12. endef 
  13.   
  14. #traverse Classes Directory 
  15. ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes) 
  16.   
  17. FILE_LIST := hellocpp/main.cpp 
  18. FILE_LIST += $(filter %.cpp, $(ALLFILES)) 
  19.   
  20. FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d) 
  21.   
  22. #source file will be compiled 
  23. LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%) 
  24.   
  25.                     
  26. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../external/Box2D/ \ 
  27.     $(FILE_INCLUDES) \ 
  28.   
  29.   
  30.   
  31. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static 
  32.              
  33. include $(BUILD_SHARED_LIBRARY) 
  34.   
  35. $(call import-module,CocosDenshion/android) \ 
  36. $(call import-module,cocos2dx) \ 
  37. $(call import-module,extensions) \ 
  38. $(call import-module,external/Box2D)</span> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java项目添加dll文件有以下几个步骤: 第一步,将所需的dll文件放置到项目的合适位置。通常情况下,dll文件需要放置在项目的根目录下的一个与系统相关的文件夹中,比如Windows系统中的“lib”或“lib64”文件夹。 第二步,打开Eclipse或其他Java开发工具,进入项目的“资源”或“库”文件夹。在该文件夹中创建一个与系统相关的文件夹,用于存放dll文件。 第三步,点击项目名称,选择“属性”或“配置构建路劲”。选择“构建路劲”选项卡,然后点击“添加库”按钮。 第四步,选择“外部库”选项卡,然后点击“添加JARs或DLLs”按钮。在弹出的窗口中,浏览到第二步创建的文件夹,选择所需的dll文件,点击“打开”。 第五步,在“构建路径配置”窗口中,选择刚刚添加的dll文件,点击“可见性”下的“所有”的复选框,然后点击“应用”或“确定”。 第六步,重新编译和运行项目,Java程序将能够引用和调用dll文件中定义的功能和方法。 需要注意的是,添加dll文件时需要根据开发环境和所用的构建工具进行设置,具体步骤可能会有所差异。此外,还需要确保所添加的dll文件与项目的其他部分兼容,避免出现无法预料的错误和异常。 ### 回答2: 在Java项目添加动态链接库(DLL)主要是为了调用本地的C或C++编写的函数或库。以下是添加DLL的步骤: 1. 将DLL文件放置在项目中的合适位置。可以创建一个文件夹(例如"lib")来存放所有的DLL文件。 2. 在Java项目中设置系统路径。可以使用System类的`setProperty`方法将DLL文件所在的文件夹添加到系统路径中,例如: ```java System.setProperty("java.library.path", "lib/"); ``` 3. 加载DLL文件。使用`System.loadLibrary`方法加载DLL文件,例如: ```java System.loadLibrary("myDll"); ``` 这将加载名为"myDll"的DLL文件。 4. 在Java代码中调用DLL中的函数。首先,需要在Java代码中定义与DLL函数对应的本地方法,使用`native`关键字进行声明,例如: ```java public native void myDllFunction(); ``` 然后,在需要调用DLL函数的地方调用该本地方法。 5. 编译和运行项目。编译并运行Java项目,在运行时,Java虚拟机将根据设置的系统路径加载DLL文件,并调用其中的函数。 需要注意的是,添加DLL文件可能涉及到平台依赖性,因此在不同的操作系统上可能需要不同的DLL文件。另外,确保DLL文件与操作系统的位数(32位或64位)兼容。如果DLL文件无法加载或调用,可能是由于路径设置不正确、DLL文件与项目不匹配等原因。 ### 回答3: 在Java项目添加dll是为了让Java程序能够调用使用C或C++编写的动态链接库(DLL)来实现一些特定的功能。下面是如何在Java项目添加dll的步骤: 1. 将dll文件放到项目的合适位置:通常情况下,dll文件需要放置在项目的根目录下或是lib目录下,将dll文件与Java源文件放在同一个目录下。 2. 设置Java库路径:通过设置java.library.path属性来指定dll文件的路径。可以通过命令行参数或是在项目中设置System属性的方式来完成。 ```java // 通过命令行参数设置 java -Djava.library.path=your_dll_path YourJavaClass // 在代码中设置 System.setProperty("java.library.path", "your_dll_path"); ``` 3. 加载dll库文件:在Java代码中使用System.loadLibrary()方法来加载dll库文件。这个方法的参数是dll文件的名称,不包括文件扩展名。 ```java System.loadLibrary("your_dll_name"); ``` 4. 调用dll库函数:一旦加载了dll库文件,就可以在Java代码中使用Native关键字声明一个本地方法,并使用Java本机接口(JNI)调用这个dll库中的函数。 ```java public class YourJavaClass { // 使用Native关键字声明本地方法 public native void yourDllMethod(); // 在静态代码块中加载dll库 static { System.loadLibrary("your_dll_name"); } // ... } ``` 在以上步骤完成之后,Java程序就可以调用dll库中的函数来实现特定的功能了。需要注意的是,在将dll文件添加项目时要确保dll文件与项目的架构(32位或64位)相匹配,否则可能会导致问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值