想請問是否有人遇過以下問題~
原始碼內含C++語法,使用ndk-build時,
關於C++11的功能std::function
std::function<bool()>想轉型為std::function<void()>時跳出建置錯誤
(我使用vs2017直接測試是可以成功執行的)
在Application.mk中的設定包含
APP_STL := c++_static
APP_CPPFLAGS += -std=c++11
NDK_TOOLCHAIN_VERSION = 4.8(也試過4.9)
Android NDK版本:r10e
AndroidStudio版本:3.3.2
gradle版本:4.10.1
Android Studio 和 C++ 11 根本就是兩種語言,
你在VS可以開發是因為微軟有作一些轉換處理吧,
不過如果你要專精Android最好還是乖乖學Android Studio,
這是我的個人淺見...
Android 一直都可以用 C 語言寫, 只是沒那麼常見而已
官方都還有給範例呢:https://developer.android.com/ndk/samples/sample_na
喔喔,
是這樣子喔...
感謝回應~目前只是在app開發工作上偶有需求,尚無系統性的學習
或許有機會的話...會再多看一些Android相關的知識吧
NDK r19c 可以編譯
測試程式:
bool bool_function()
{
return false;
}
void testing_func()
{
std::function<void()> foo = bool_function;
foo();
}