有没有办法在Makefile规则中检查它是否有权写入指定的目录?这是我写的Makefile的一小部分:
APP_NAME = electro
CC = gcc
C_FLAGS = -Wall
LIB_DIR = lib
SRC_DIR = src
INST_DIR = /usr/bin
INST_LIBDIR = /usr/lib
LIBS = libcomponent.so libpower.so libresistance.so
L_FLAGS = -lresistance -lpower -lcomponent
.PHONY: lib
lib:
@$(MAKE) --directory=$(LIB_DIR)
install: $(SRC_DIR)/main.c lib
(cd $(LIB_DIR); cp $(LIBS) $(INST_LIBDIR))
$(CC) $(C_FLAGS) -o $(INST_DIR)/$(APP_NAME) $(L_FLAGS) $<
@echo "$(APP_NAME) installed successfully."
Run Code Online (Sandbox Code Playgroud)
如果用户没有写入/ usr/lib和/ usr/bin的权限,则"安装"规则显然会失败.有没有办法在执行这两行之前检查此权限,并在这种情况下输出相应的错误消息(可能是"您没有足够的权限来运行此命令")?
尝试在sqlite数据库表中查询所有行时,我收到以下异常:
08-24 20:36:48.134: E/AndroidRuntime(351): java.lang.RuntimeException:
Unable to start activity ComponentInfo{se.p950tes.workouttracker/se.p950tes.workouttracker.SavedActivity}:
android.database.sqlite.SQLiteException: no such column: col_distance: ,
while compiling: SELECT _id, col_date, col_time, col_distance, col_route FROM workout
Run Code Online (Sandbox Code Playgroud)
我还没有更新数据库,这是我第一次在这个设备上安装应用程序,并且它也在模拟器上进行了测试,结果相同.即便如此,我还是尝试了几次版本号,没有任何变化.
这是我的代码.getAll方法抛出异常.
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DatabaseHandler
{
public static final String DATABASE_NAME = "workout_tracker";
private static final String KEY_ID = "_id";
private static final String KEY_DATE = "col_date";
private static final String KEY_TIME = "col_time";
private static final String KEY_DISTANCE = …Run Code Online (Sandbox Code Playgroud)