出现错误:bash:./autogen.sh:没有这样的文件或目录

出现错误:bash:./autogen.sh:没有这样的文件或目录

需要在eclipse中安装st-linkv2才能进行stm32f4的编程。

st-linkv2 需要 automake、dh-autoreconf 和 libusb-1.0-0-dev。

终端如下所示:

abin@abin-Compaq-Presario-C700-Notebook-PC:~/ARMToolchains/stlink-master$ ls -a
.               debian        LICENSE                 .travis.sh
..              doc           Makefile                .travis.yml
.appveyor.yml   etc           README.md               usr
build           flashloaders  scripts                 .version
ChangeLog.md    .github       src
cmake           .gitignore    stlinkv1_macosx_driver
CMakeLists.txt  include       tests
$ ./autogen.sh
bash: ./autogen.sh: No such file or directory
$ whereis automake
automake: /usr/share/man/man1/automake.1.gz
$ ./configure
bash: ./configure: No such file or directory
$ sudo apt-get install automake
[sudo] password for abin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
automake is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 18 not upgraded.
$ whereis autoconf
autoconf: /usr/bin/autoconf /usr/share/autoconf /usr/share/man/man1/autoconf.1.gz
$ whereis libusb-1.0-0-dev
libusb-1: /usr/include/libusb-1.0

我已经从在 GitHub 上

我一直盲目跟随这个 YouTube 视频它展示了如何在 Linux 中使用 Eclipse 进行 STMboard 编程并将代码转储到板中。视频制作者在 8:37 处执行了我正在尝试执行的操作。

操作系统是 Ubuntu 15.04,32 位。

我想知道如何编译它。我还想了解为什么我们使用诸如./autogen.sh和其他命令之类的方法。

答案1

您正在使用的语法

./name-of-file

在当前工作目录中运行可执行文件。如果您看不到name-of-filels -a它将失败并显示您看到的错误,并且如果它没有运行该命令的用户的执行权限,它将失败permission denied(如果根本没有设置 x 位,并且您尝试使用 运行它sudo,则失败消息将是command not found

您尝试编译的程序使用该cmake方法来设置构建环境,并且显然没有autogen.sh(或configure)脚本可以运行。

我刚刚成功构建此版本来自您链接的 GitHub 页面。这很简单,我没有遇到任何问题。

首先,您需要安装构建所需的所有依赖项。我不确定是否真的需要所有这些,但您提到无论如何都需要其中一些...

sudo apt install build-essential automake dh-autoreconf libusb-1.0-0-dev cmake g++

在屏幕截图中显示的位置创建一个目录(打开一个终端,cd /ARMToolchains/stlink-master如果有必要...为什么不在主目录中构建?我建议将整个目录移动到$USER,但无论如何......)基本方法是

mkdir build
cd build
cmake ..

当成功退出后,你可以运行

make

如果成功存在,你可以运行

sudo make install

将二进制文件移动到正确的位置。如果没有,您可以从当前目录运行它们。如果您无法获取已下载的版本进行构建(克隆主版本时经常发生这种情况,因为它可能正在调整中),请下载其中一个版本(如我上面链接的版本)并重试。

相关内容