Ubuntu에서 실행 파일을 실행하려고 하는데 작동하지 않습니다. 하지만 나와 같은 Ubuntu 12.04를 실행하는 다른 컴퓨터에서도 똑같은 실행 파일이 제대로 실행됩니다. 이를 바탕으로 나는 여기에 질문을 던진다.Ubuntu에서 컴파일된 파일을 실행합니다.
하지만 이제 문제는 컴파일된 파일에 있는 것이 아니라는 것을 깨달았습니다. 아주 간단한 .cpp 파일을 작성해서 테스트했는데 우분투에서는 아직 실행이 안 되거든요.
다음은 간단한 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