2013-03-19 81 views
0

我有一個C++庫,我已經添加到android2.3.6源代碼,我想編譯它並鏈接使用g ++而不是gcc和ld。 有可能嗎? 另外,我加入這一行到我的Android.mk文件:如何在Android.mk中指定使用g ++?

LOCAL_CXX=path/to/g++compiler 

但建築仍使用gcc。

有沒有解決方法?

在此先感謝!

編輯:

完全Android.mk

LOCAL_PATH := $(call my-dir) 
libdash_src_files :=cppfiles 
LOCAL_C_INCLUDES :=headers 
include $(CLEAR_VARS) 
LOCAL_C_INCLUDES += path_to/stlport 
LOCAL_SRC_FILES := $(libdash_src_files) 

include external/stlport/libstlport.mk 

LOCAL_SHARED_LIBRARIES += libstlport libz LOCAL_SYSTEM_SHARED_LIBRARIES :=libdl libutils libc 

LOCAL_LDLIBS := $(LOCAL_LDLIBS) -llog 

LOCAL_LDFLAGS:= -lz -Wl -shared 

LOCAL_CXX := $(CXX) 
libdash_cppflags :=-g -fPIC -v -frtti -fexceptions 

LOCAL_CPPFLAGS :=$(libdash_cppflags) -fpermissive -w 
LOCAL_MODULE :=libdash 
LOCAL_MODULE_TAGS :=optional 
include $(BUILD_SHARED_LIBRARY) 
+2

你從哪裏看到「建築物仍然使用gcc」? – StarPinkER 2013-03-19 11:04:11

+0

編譯時我得到這些消息: 搜索列表結束。 GNU C++(GCC)版本4.4.3(arm-linux-androideabi) 由GNU C版本4.6.x-google 20120106(預發佈),GMP版本5.0.5,MPFR版本2.4.1編譯。 GGC啓發式:--param ggc-min-expand = 100 --param ggc-min-heapsize = 131072 編譯器可執行文件校驗碼:c4d888e5a360c62eda5c2541802f65ce – 2013-03-19 11:32:20

+0

然後你可以發佈完整的Android.mk文件嗎? – StarPinkER 2013-03-19 11:35:44

回答

0

我只是跟着傑梅因跡象,做一個make clean 然後重新編譯它,它工作得很好。

謝謝你們。

+0

你能更好地描述你如何解決這個問題,並接受它作爲答案嗎? – StarPinkER 2013-03-20 00:31:31

+0

我只是簡單地將$(CLEAR_VARS)的位置移到LOCAL路徑下。不知怎的,似乎我以前的構建aosp的嘗試已經擾亂了我的庫的構建。我只是決定做好清理並開始全部再次,這個構建讓我在2小時30分鐘內成功完成了finich。這就是我所做的一切。 非常感謝Jermaine – 2013-03-20 09:27:48