最近在用NDK R9編譯so,打開-fopenmp
LOCAL_CFLAGS += -pie -fPIE -shared -fopenmp
LOCAL_LDFLAGS += -pie -fPIE -shared -fopenmp
後運行core dump
openmp 在android上crash的解決方案
http://www.cnblogs.com/octave/p/5942907.html
這是個GOMP已知的問題,參見 bug42616, bug52738。如果在非主線程上使用openmp指令或者函數,會crash。這是因爲在android上gomp_thread(libgomp/libgomp.h文件中)函數對於用戶創建的線程返回NULL
解決方法: 將#pragma omp parallel for 運行在主線程
其他解決方式未試
在mk中去掉 $(LOCAL_PATH)/collage_polygon.cpp
$(LOCAL_PATH), 編譯出來so 速度有很大提升,不知道是否是ndk隱藏bug