このログ ステートメントを機能するように移植しようとしているので、#define することで Linux と Android で実行できます。
__android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
Linux と Android の両方で実行できるようにアプリをクロスコンパイルしました。ただし、Linux には同等の機能がないため、自分でやろうとしました。
/** ANDROID */
#if defined(__ANDROID__)
#include <android/log.h>
#define LOG_ERROR ANDROID_LOG_ERROR
#define LOG(PRIORITY, fmt, ...) __android_log_print(ANDROID_LOG_UNKNOWN, LOG_TAG, fmt, ##__VA_ARGS__)
/** LINUX */
#elif defined(linux) || defined(__linux) || defined(__linux__)
#define LOG_ERROR LINUX_LOG_ERROR
#define LOG(PRIORITY, fmt, ...) printf(PRIORITY fmt, ##__VA_ARGS__)
#endif
そして、Linuxで実行するときにこのように使用します
LOG(LOG_ERROR, "Testing loggging [ %d ]", test);
これを行うより良い方法はありますか?
ご提案いただきありがとうございます。