Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ cmake:无法执行二进制文件:Exec格式错误_C++_Cmake_Raspberry Pi_Raspbian - Fatal编程技术网

C++ cmake:无法执行二进制文件:Exec格式错误

C++ cmake:无法执行二进制文件:Exec格式错误,c++,cmake,raspberry-pi,raspbian,C++,Cmake,Raspberry Pi,Raspbian,我一直在与Raspberry Pi 3和Raspbian合作,以控制Dynamixel电机。我正在使用DynixelSDK和Workbench GITS,并遵循他们的指令安装和运行他们的软件与C++。我已经完成了所有的步骤,甚至让我的马达运行他们的一个测试程序。在下一步中,我尝试添加我自己的cpp文件(仅从一个测试文件中修改),并将我的文件作为可执行文件添加到CMakeList.txt,格式与现有文件相同(我控制+粘贴并将所有内容更改为我的新文件)。我是cmake的初学者,所以我一直在尝试一步一

我一直在与Raspberry Pi 3和Raspbian合作,以控制Dynamixel电机。我正在使用DynixelSDK和Workbench GITS,并遵循他们的指令安装和运行他们的软件与C++。我已经完成了所有的步骤,甚至让我的马达运行他们的一个测试程序。在下一步中,我尝试添加我自己的cpp文件(仅从一个测试文件中修改),并将我的文件作为可执行文件添加到CMakeList.txt,格式与现有文件相同(我控制+粘贴并将所有内容更改为我的新文件)。我是cmake的初学者,所以我一直在尝试一步一步地做。我看到了CMake是如何构建目录、生成文件和(理想情况下)我的新可执行文件的

然而,CMake突然停止了工作。我之前成功地运行了它,但现在每当我尝试运行它时,CMake都会给我一个错误

“$/home/pi/.local/bin/cmake:无法执行二进制文件:Exec格式错误”

我在网上找到了一些信息,解释了这个错误通常来自于试图编译一个使用不同二进制文件构建的文件,但是没有找到任何关于cmake的特别信息。我的一些困惑是因为cmake曾经工作得很好,而且我没有改变系统本身的任何东西,所以我不确定为什么它突然不工作。我使用了“文件cmake”并得到了这条消息

cmake:ELF 32位LSB可执行文件,ARM,EABI5版本1(GNU/Linux),动态链接,解释器/lib/ld-Linux-armhf.so.3,适用于GNU/Linux 3.2.0,BuildID[sha1],=9BA07348BBBCE6FEEB7443248D40392D423BF,剥离

我相信这意味着我拥有的cmake版本适合Raspbian。我认为可能还需要注意的是,cmake可执行文件驻留在这个目录中

“/usr/bin”但我收到了目录为“home/pi/.local/bin/cmake”的错误消息

我尝试过的事情:


我试过更新cmake。我已尝试清除(我认为是)错误路径名的散列。我已清除cmake并尝试重新安装。我的第一个安装是使用cliutils.gitlab.io中的wget,而我的新安装是使用sudo apt get install cmake。两者都会出现相同的错误。

(重新)移动
主页/pi/.local/bin/cmake
,然后使用系统版本。
/usr/bin/cmake
有效吗?我不确定如何准确检查,或者如何删除和使用系统版本。我曾尝试在/usr/bin/cmake中运行cmake可执行文件(没有发生任何事情……但我认为这应该发生,因为它没有任何“生成”的东西)。根据您的建议,如何告诉系统在/usr/bin/cmake中查找文件?
rm
可用于删除文件,
mv
可用于移动文件
cmake--help
应打印帮助信息
我如何告诉系统在/usr/bin/cmake中查找文件?
可执行文件的搜索路径配置有
path
环境变量。如果在终端中运行
键入cmake
,当您输入
cmake
时,它将告诉您运行内容的完整路径。然后您将知道发生了什么。(重新)移动
主页/pi/.local/bin/cmake
,并使用系统版本。
/usr/bin/cmake
有效吗?我不确定如何准确检查,或者如何删除和使用系统版本。我曾尝试在/usr/bin/cmake中运行cmake可执行文件(没有发生任何事情……但我认为这应该发生,因为它没有任何“生成”的东西)。根据您的建议,如何告诉系统在/usr/bin/cmake中查找文件?
rm
可用于删除文件,
mv
可用于移动文件
cmake--help
应打印帮助信息
我如何告诉系统在/usr/bin/cmake中查找文件?
可执行文件的搜索路径配置有
path
环境变量。如果在终端中运行
键入cmake
,当您输入
cmake
时,它将告诉您运行内容的完整路径。然后你就会知道发生了什么。