NDK里面的makefile怎么写

Hinagi 2010-03-12 11:12:50
我想在编译c文件的时候链接几个静态库,应该怎么写啊

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)

LOCAL_MODULE := test
LOCAL_SRC_FILES := samplecode.c

LOCAL_STATIC_LIBRARIES := \
libx \
liby \
libz \

include $(BUILD_SHARED_LIBRARY)

我照着NDK下面的例子改的一个makefile,但是编译的是说提示说
make: *** No rule to make target `out/apps/test/armeabi/libx.a', needed by `out/apps/test/armeabi/test.so'.
Stop.

我把libx.a liby.a libz.a都是放到和samplecode.c一个目录下的....
...全文
1147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangweia 2010-09-03
  • 打赏
  • 举报
回复
775925302@qq.com 我的qq邮箱!
zhangweia 2010-09-03
  • 打赏
  • 举报
回复
你好!我也也到同样的问题,能麻烦你吧源码测试工程发给我吗?或者详细说下原理!那3个.a文件都是linux环境下生成的,还是通过ndk指定了处理的cc编译的?如果能够提供源码,将感激不尽!
jinlking 2010-03-12
  • 打赏
  • 举报
回复
这三个库是不是你自己的?
如果自己的话 ndk也可以编译静态链接库的
在你的当前的makefile中在加入编译静态链接库的相关语句

如果是别人编译好的,那么就要制定一个静态链接库的地址了。
可以翻翻源码的makefile,看看它们的静态链接库的存放地址是如何指定的。
Hinagi 2010-03-12
  • 打赏
  • 举报
回复
那应该放到哪儿NDK才能找到啊
jinlking 2010-03-12
  • 打赏
  • 举报
回复
LOCAL_STATIC_LIBRARIES := \
libx \
liby \
libz \

加入了三个静态链接库 ndk不知道这三个库在什么地方
Hinagi 2010-03-12
  • 打赏
  • 举报
回复
解决了,应该用LOCAL_LDFLAGS就可以了
3q all
Hinagi 2010-03-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinlking 的回复:]

这三个库是不是你自己的?
如果自己的话 ndk也可以编译静态链接库的
在你的当前的makefile中在加入编译静态链接库的相关语句

如果是别人编译好的,那么就要制定一个静态链接库的地址了。
可以翻翻源码的makefile,看看它们的静态链接库的存放地址是如何指定的。
[/Quote]


是第三方提供的,我找了一下源码的一些makefile,写法都是LOCAL_STATIC_LIBRARIES := ...
我也是那样写的啊

80,348

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧