我想编译对使用 automake 创建的项目所做的更改。
我相应地更改了 Makefile.am 文件并运行
./autogen.sh
./configure
make
make 最终给了我错误:
...
make[2]: Betrete Verzeichnis '/home/dino/workspace/ba/sharp-1.0/src'
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. - I../include -I../include/sharp -ansi --pedantic-error -Wall -g -O2 -MT Global.lo -MD - MP -MF .deps/Global.Tpo -c -o Global.lo `test -f './Global.cpp' || echo './'`./Global.cpp
../libtool: line 2090: ./Global.cpp: Permission denied
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I../include -I../include/sharp -ansi --pedantic-error -Wall -g -O2 -MT Global.lo -MD -MP -MF .deps/Global.Tpo -c "" -fPIC - DPIC -o .libs/Global.o
g++: error: : No such file or directory
g++: fatal error: no input files
compilation terminated.
上述命令对任何源文件都不起作用。所以我想可能是我的 automake 破坏了这个项目。
答案1
每当我遇到这样的问题时,都是因为没有使用前缀sudo
。
sudo ./autogen.sh
sudo ./configure.sh
sudo make
问题是,您作为用户没有权限使用所需的任何文件,并且 make 过程被取消。执行 assudo
解决了该问题。