新版Android Studio用CMake編譯so庫. 構建『Native C++』工程已自動生成『CMakeLists.txt』同『native-lib.cpp』, 但C/C++代碼係『native-lib.cpp』調用其它『.cpp』程式皆報錯『error: undefined reference』, 皆因冇將C/C++代碼編譯入so庫.
D:/Android/GeomanticCompass/app/src/main/cpp/native-lib.cpp:14: error: undefined reference to ‘IsEven(int)’ |
睇『CMakeLists.txt』文檔
係『add_library()』尾加入『math.cpp』生成鏈接文檔
add_library( geomanticcompass
SHARED native-lib.cpp math.cpp) |
查找日志庫
find_library(log-lib log) |
將目標文檔與庫文檔進行鏈接
target_link_libraries(geomanticcompass math ${log-lib}) |