2015-09-04 17 views
1

我的程序編譯和運行良好:如何編譯g ++應用程序並在任何地方運行?

g++ main.cpp exm1.cpp exm2.cpp -o main.o 

我想編譯這個程序,並在任何地方運行
我哪有?
我試試這個代碼

g++ -g -Wall -I/MyApp/lib -static-libgcc -static-libstdc++ -static main.cpp exm1.cpp exm2.cpp -o main.o 

但不起作用
在lib文件夾下有2個文件:

  • exm1.h
  • exm2.h包括

    的main.cpp:
#include <fstream> 
#include <iostream> 
#include <string> 
#include <streambuf> 
#include <stdlib.h> 
#include "lib/exm1.h" 
#include "lib/exm2.h" 

我的Linux是卡利,我想在CentOS 6上運行這個程序
請幫幫我,謝謝

+0

你是什麼意思「隨處跑」?你是什​​麼意思「但不工作」? –

+0

哦,你有沒有試過只用'-static'來靜態鏈接*所有*庫? –

+0

我在kali編譯並運行main.o,並且工作正常,但是main.o不能在centos上工作 – nima

回答

0

因此,從評論的一個原因可能是你的可執行文件64位和CentOS 32位系統正。嘗試編譯-m32標誌。

+0

'/usr/include/c++/4.9/iosfwd:38:28:fatal error:bits/C++ config.h:No such file or directory #include ^ 編譯終止。 ' – nima

+0

http://stackoverflow.com/questions/4643197/missing-include-bits-cconfig-h-when-cross-compiling-64-bit-program-on-32-bit似乎是一個頻繁的問題 –

+0

thaaanks,工作 – nima

相關問題