我的make文件有什么问题?
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := foo.c
LOCAL_EXPORT_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
foo.c的
#include <string.h>
#include <jni.h>
#include <android/log.h>
#define LOG_TAG "foo"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
void test() {
LOGI("test");
}
Run Code Online (Sandbox Code Playgroud)
NDK建造
foo.c:9: undefined reference to `__android_log_print'
Run Code Online (Sandbox Code Playgroud) 我想知道为什么CMake中的变量经常用美元符号和大括号括起来.例如,我在CMake教程中看到了这个调用.
include_directories(${PROJECT_BINARY_DIR})
Run Code Online (Sandbox Code Playgroud)
但是从我的尝试来看,这也是一样的.
include_directories(PROJECT_BINARY_DIR)
Run Code Online (Sandbox Code Playgroud)
${...}什么时候需要包装,这是什么意思?为什么变量经常包含在内,即使它没有任何区别?