在 Linux 上运行C++可执行文件
Run C++ executable on Linux
我正在尝试使用OpenCV在Linux中编译执行C++程序。
当我打字时
g++ -c facedetection.cpp -std=c++11 -o facedetection
正确生成facedetection
文件。请注意,我使用-std=c++11
因为我在建议这样做时出错。
做完chmod o+x facedetection
后,我尝试用./facedetection
执行它,但出现错误:
bash: ./facedetection: cannot execute binary file: Exec format error
怎么了?
当你使用 -c
编译时,它会生成一个对象 (.o
) 文件,而不是可执行文件。您需要在没有-c
的情况下编译它才能制作可执行文件。
较大的C++程序将具有多个.cpp
文件;对于每个.cpp
文件,您将使用 -c
进行编译以生成它们各自的.o
文件。然后,您将链接这些.o
文件(运行g++
而不-c
)以生成最终的可执行文件。
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 程序在使用 system() 启动另一个可执行文件时停止
- 如何更改使用 CPack 安装的可执行文件的名称?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- CMake:我们可以为一组不形成可执行文件或库的特定文件指定包含目录吗?
- 如何将图像传入C++可执行文件并将输出图像存储在新目录中?
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 编译的C可执行文件被Windows defender检测为病毒
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 是否可以在命令行中将输入参数传递给可执行文件
- 如何在可执行文件中存储常量数组?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 可执行文件C++包括.obj,.lib和.dll吗?
- 无法在 Linux 上运行C++ ZMQ 项目的可执行文件
- 从 C 可执行文件加载动态库时收到错误C++"undefined symbol"