Ubuntuで実行可能ファイルを実行できません。端末にsudoが必要な場合、または「無効または不完全なマルチバイトまたはワイド文字」などのエラーが発生します。

Ubuntuで実行可能ファイルを実行できません。端末にsudoが必要な場合、または「無効または不完全なマルチバイトまたはワイド文字」などのエラーが発生します。

Ubuntuで実行可能ファイルを実行しようとしても機能しません。しかし、私と同じUbuntu 12.04を実行している他のコンピュータでも、同じ実行ファイルが正しく実行されます。これに基づいて、私はここに質問を投げます。Ubuntuでコンパイルされたファイルを実行します。

しかし、今問題はコンパイルされたファイルにはないことに気づきました。非常に単純な.cppファイルを作成してテストしましたが、Ubuntuではまだ実行できません。

以下は簡単なtest.cppです。

#include <stdio.h>
#include <stdlib.h>

int main( int argc, char **argv ) 
{
 printf ("Hello, this test worked!");
return 0;
}

それから私はそれをコンパイルしました:

g++ `pkg-config --cflags opencv` -o test test.cpp

それから実行してみてください。

./test

しかし、エラーが発生します。

bash: ./test: Permission denied

だからsudoを使ってみました。

sudo ./test

それは私が提供したユーザーパスワードを尋ねましたが、次のように言いました。

sudo: ./test: command not found

では、実行ファイルをどのように実行できますか?

編集する

Wubiインストーラを使用してWindowsにUbuntuをインストールしました。

私が実行したとき:

pkg-config --cflags opencv

わかりました:

-I/usr/local/include/opencv -I/usr/local/include  

私が走るとき

df .

それは言う:

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/loop0      17596475 6112377  11484098  35% /

私が実行したとき:

cat /proc/mounts

その後、出力は次のようになります。

rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=1944900k,nr_inodes=486225,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,relatime,size=781788k,mode=755 0 0
/dev/sda4 /host fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
/dev/loop0 / ext3 rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0
gvfs-fuse-daemon /home/asaaki/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0

答え1

間違ってコンパイルしましたか?次のようにする必要はありませんか?

g++ `pkg-config --cflags opencv` -o test.cpp test

または

g++ `pkg-config --cflags opencv` test.cpp -o  test

関連情報