无法在 OSX 上运行编译的 C++ 可执行文件,适用于 Debian

cannot run compiled c++ executable on OSX, works on Debian

本文关键字:可执行文件 C++ 适用于 Debian 编译 OSX 运行      更新时间:2023-10-16

>我有一个包含在单个文件中的 C++ 程序,movie2serial.cpp . 我正在使用以下命令使用 G++ 编译程序:

g++ -std=c++0x -lstdc++ -lpthread -lboost_system movie2serial.cpp -o movie2serial

这将生成一个名为 movie2serial 的可执行文件。 在 Debian Wheezy 上(在树莓派上运行) 运行这个可执行文件没有问题。 但是,我只是尝试在OSX上编译相同的程序,使用相同的对G ++的调用。 我尝试从适当的目录中./movie2serialopen ./movie2serial,但这些命令只返回以下错误:

open: No such file or directory

当我运行file ./movie2serial时,它返回以下内容:

./movie2serial: Mach-O 64-bit executable x86_64

为什么我不能执行我的程序?

看起来您的编译失败了。

尝试执行以下命令并检查您是否有一个名为 movie2serial 的文件。

ls -al

当我尝试使用您提供的命令行选项进行编译时,它会给我以下 -lboost_system 错误。

ld: library not found for -lboost_system