您的位置:首页 > 其它

CANNOT LINK EXECUTABLE错误

2013-12-12 12:07 197 查看
  今天编译一个远程server,始终出现这个错误。最后发现是应用程序运行时连接的动态库不对(编译时连接的库不是他需要的)不仅仅包含应用程序的动态库,还要包含此运行库所需的运行库(应用程序->运行库->运行库)。

  注:这是第三次碰到这个错误了,而且同之前2次一样,找了老多原因,耽误了大量时间,实在是不应该。特在此做个记录。

Android.mk文件编写注意事项:

1 LOCAL_PATH := $(call my-dir)
2
3 include $(CLEAR_VARS)
4
5 LOCAL_MODULE_TAGS := optional
6
7 LOCAL_SRC_FILES := AddService.cpp
8
9 LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
10
11 LOCAL_SHARED_LIBRARIES := \
12                         libcutils \
13                         libutils  \
14                         libbinder \
15                         libandroid_runtime
16
17 LOCAL_PRELINK_MODULE := false
18
19 LOCAL_MODULE := libAdd
20
21 include $(BUILD_SHARED_LIBRARY)


1、 如果在红色部分改成这样:LOCAL_MODULE:=libAdd ##注释

编译出来的库名称为libAdd,就不带.so结尾。

2、如果2个Android.mk整合成一个,那么需要打掉一个

LOCAL_PATH := $(call my-dir)

不然会到不到源码路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: