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

时间:2014-12-16 04:59:13

标签: c++ macos g++ debian

我有一个c ++程序包含在一个文件movie2serial.cpp中。我正在使用g ++使用以下命令编译程序:

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

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

open: No such file or directory

当我运行file ./movie2serial时,它会返回:

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

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

1 个答案:

答案 0 :(得分:1)

看起来您的编辑失败了。

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

ls -al

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

ld: library not found for -lboost_system