2016-12-22 52 views
1

如果這是重複的,我很抱歉,但是如何定義預處理器定義。在Visual Studio中,我可以直接進入C++ - > Preprocessor並在那裏設置定義列表。但我在Android的gradle build中苦苦掙扎。如何在Gradle中設置預處理器定義

我需要定義DEBUG,以滿足以下條件

#if (!defined(NDEBUG)) && (!defined(DEBUG)) 

我已經嘗試添加-DDEBUG,但似乎並沒有工作。我一直在努力找到需要完成的文檔。

cppFlags.addAll(["-fexceptions", "-std=gnu++11", "-DDEBUG"]) 

這裏是我的NDK構建塊 //定義了NDK構建 NDK { MODULENAME 「MyModule的」

 toolchain = "clang" 

     // If switching to GNU, here are the values to replace with 
     stl "gnustl_shared" 
     cppFlags.addAll(["-fexceptions", "-std=gnu++11", "-DDEBUG"]) 


     // when adding system library dependencies, they are added here 
     ldLibs.addAll(["log","atomic"]) 

     // C include directories 
     CFlags.addAll(["-I${file("src/main/jni/folder1")}".toString(), 
         "-I${file("src/main/jni/folder2")}".toString() 
     ]) 

     // C++ include directories 
     cppFlags.addAll(["-I${file("src/main/jni/morestuff")}".toString(), 
     ]) 
    } 

回答

2

看起來你同時擁有CFlagscppFlags集。你確定你正在將DEBUG標誌添加到正確的標誌嗎?如果您正在處理共享庫,則可能需要您的標記爲CFlags而不是cppFlags

我會嘗試加入您的DEBUG標誌CFlags,看看是否可行:

CFlags.addAll(["-DDEBUG"]) 
+0

感謝您的快速反應,這正是我在做什麼錯了! –