小编yzf*_*fr1的帖子

Makefile:检查目录的写入权限

有没有办法在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的权限,则"安装"规则显然会失败.有没有办法在执行这两行之前检查此权限,并在这种情况下输出相应的错误消息(可能是"您没有足够的权限来运行此命令")?

linux permissions makefile

3
推荐指数
1
解决办法
2177
查看次数

SQLiteException:查询数据库时没有这样的列

尝试在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)

database sqlite android exception

0
推荐指数
1
解决办法
984
查看次数

标签 统计

android ×1

database ×1

exception ×1

linux ×1

makefile ×1

permissions ×1

sqlite ×1