Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                                                                                            
                
        
我在单个文件movie2serial.cpp中包含一个c ++程序。我正在使用g ++通过以下命令来编译程序:

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

这将生成一个名为movie2serial的可执行文件。在Debian Wheezy(在Raspberry Pi上运行)上,我可以轻松运行此可执行文件。但是,我只是尝试使用对g ++的相同调用在OSX上编译相同的程序。我从适当的目录尝试了./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

关于c++ - 无法在OSX上运行已编译的c++可执行文件,可在Debian上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27497796/

10-14 09:21