VAIOラップトップ(VPCS116FG、Sシリーズ)を持っています。キーボードには周囲の明るさを検出できるセンサーが搭載されているため、飛行機のキャビンなどの暗い場所ではバックライトが自動的にオンになります。 Windows 7からUbuntuに移行したため、バックライトセンサーはまったく機能しません。
問題をグーグル検索することで、私は このWebサイト を見つけ、指示に従いましたが、コンパイルの段階で、次のエラーに遭遇しました。
sa/file_funcs.c: In function ‘get_first_backlight_device_name’:
sa/file_funcs.c:44:9: warning: format ‘%li’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat]
/tmp/ccIhKx5v.o: In function `handle_acpi_events':
acpi_funcs.c:(.text+0xf8): undefined reference to `log'
acpi_funcs.c:(.text+0x109): undefined reference to `log'
acpi_funcs.c:(.text+0x120): undefined reference to `pow'
collect2: ld returned 1 exit status
動作させるにはどうすればよいですか?
compile
ファイルを少し調整することで、ようやくコンパイルできるようになりました。
行16の読み取り:
$CC $CFLAGS $LDFLAGS $DEFINES -o $OUTPUT $SRC_DIR/*.c
次のように変更します。
$CC $CFLAGS $DEFINES -o $OUTPUT $SRC_DIR/*.c $LDFLAGS
または、次の2つのコマンドを発行できます./compile
]を実行する直前に:
echo -e "16c16\n< \$CC \$CFLAGS \$LDFLAGS \$DEFINES -o \$OUTPUT \$SRC_DIR/*.c\n---\n> \$CC \$CFLAGS \$DEFINES -o \$OUTPUT \$SRC_DIR/*.c \$LDFLAGS" >compile.patch
patch compile compile.patch
私はVAIOにいます VPCS123FG Sシリーズ 。同じ問題をGoogleで検索して、私のマシンの解決策を見つけました。
ターミナルで次のコマンドを入力します。
エコー1 |須藤ティー/ sys/devices/platform/sony-laptop/kbd_backlight
TechArena Community に感謝します。
これらのlog()
およびpow()
は数学関数であり、compile
ファイルを機能させるために少し変更する必要があります。
具体的には、compile
ファイルを開いて置き換えます
CFLAGS="-Wall -W -O2 -march=native -pipe"
と
CFLAGS="-Wall -W -O2 -lm -march=native -pipe"
変更により、数学ライブラリ「libm」が有効になり、プログラムは問題なくコンパイルされます!