Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.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++ Ubuntu C++;可执行_C++_Eclipse_Opencv_Ubuntu - Fatal编程技术网

C++ Ubuntu C++;可执行

C++ Ubuntu C++;可执行,c++,eclipse,opencv,ubuntu,C++,Eclipse,Opencv,Ubuntu,我有些怀疑,希望有人能回答 我有一个应用程序正在使用ubuntu12.04,eclipse和C++。我想做的是编译我的应用程序并在其他PC上使用它。当我试图在其他PC上运行我的可执行文件时,它不起作用 如果我必须以特定的方式编译,如果我可以使用eclipse生成的可执行文件,或者如果我必须使用库进行编译,我不知道。。。。我正在应用程序中使用OpenCV库 因此,我想要的是得到我的应用程序的一个可执行文件,并在运行Ubuntu的其他PC上使用它,使用Linux编译并将二进制文件移动到另一台具有(大

我有些怀疑,希望有人能回答

我有一个应用程序正在使用
ubuntu12.04
eclipse
C++
。我想做的是编译我的应用程序并在其他PC上使用它。当我试图在其他PC上运行我的可执行文件时,它不起作用

如果我必须以特定的方式编译,如果我可以使用eclipse生成的可执行文件,或者如果我必须使用库进行编译,我不知道。。。。我正在应用程序中使用
OpenCV


因此,我想要的是得到我的应用程序的一个可执行文件,并在运行
Ubuntu

的其他PC上使用它,使用Linux编译并将二进制文件移动到另一台具有(大部分)其他Linux版本的计算机上,这不是一个好主意!它将在某些情况下工作,但不是所有的时间!在大多数情况下,还安装了不同的库和库版本。因此将找不到文件等(这是一个大混乱!),这就是unix世界中许多程序作为源代码发布的原因

-->生成一个Makefile,以便轻松编译代码
-->用Java创建应用程序(可能不是您想要的…)
-->将llvm与llvm字节码一起使用(不简单)
-->创建一个.deb文件,该文件安装正确的二进制文件并显示依赖项


希望这会对您有所帮助。

使用Linux编译并将二进制文件移动到另一台使用(大多数情况下)另一个Linux版本的计算机不是一个好主意!它将在某些情况下工作,但不是所有的时间!在大多数情况下,还安装了不同的库和库版本。因此将找不到文件等(这是一个大混乱!),这就是unix世界中许多程序作为源代码发布的原因

-->生成一个Makefile,以便轻松编译代码
-->用Java创建应用程序(可能不是您想要的…)
-->将llvm与llvm字节码一起使用(不简单)
-->创建一个.deb文件,该文件安装正确的二进制文件并显示依赖项


希望这会对您有所帮助。

我同意您的答案,除了感叹号的过度使用之外!甚至我有时也会在linux发行版之间复制二进制文件——这主要是针对具有交叉编译二进制文件的嵌入式系统。对我来说,这对于桌面发行版来说毫无意义。没有人说这行不通——它会:)——但在我看来这是一团糟,不应该这样做!嗨,clambake,谢谢你的回答。实际上,我的应用程序在Ubuntu 12.04中运行,我想在另一个Ubuntu 12.04中运行它。事实上,我有一个手臂,我想在最后运行我的应用程序。因此,如果我的应用程序是在普通PC机上开发的,x86是在ARM中盗用我的应用程序的最好方式,我知道我必须用交叉编译来编译,但是如果我在PC机上用交叉编译来编译我的应用程序,我能在ARM中复制我的应用程序并运行它吗??我需要做一个特殊的交叉编译吗??Thankss@user3536692您仍然无法确保两台Ubuntu机器具有相同版本的某些库。像
make
gcc
这样的工具可以,但是我如何在不同的PC机或ARM中使用我的应用程序呢??那不可能吗?我同意你的回答,除了过度使用感叹号之外!甚至我有时也会在linux发行版之间复制二进制文件——这主要是针对具有交叉编译二进制文件的嵌入式系统。对我来说,这对于桌面发行版来说毫无意义。没有人说这行不通——它会:)——但在我看来这是一团糟,不应该这样做!嗨,clambake,谢谢你的回答。实际上,我的应用程序在Ubuntu 12.04中运行,我想在另一个Ubuntu 12.04中运行它。事实上,我有一个手臂,我想在最后运行我的应用程序。因此,如果我的应用程序是在普通PC机上开发的,x86是在ARM中盗用我的应用程序的最好方式,我知道我必须用交叉编译来编译,但是如果我在PC机上用交叉编译来编译我的应用程序,我能在ARM中复制我的应用程序并运行它吗??我需要做一个特殊的交叉编译吗??Thankss@user3536692您仍然无法确保两台Ubuntu机器具有相同版本的某些库。像
make
gcc
这样的工具可以,但是我如何在不同的PC机或ARM中使用我的应用程序呢??这是不可能的??afait
openCV
是动态链接的,因此您必须部署(我认为是)
。因此该库的
文件以及afait
openCV
是动态链接的,因此您必须部署(我认为是)
。因此该库的
文件也是动态链接的