我有一個更新的cygwin-full install,mingw,windows系統上的代碼塊。 我有一個基於輸入執行xml生成的C++程序。如何從Windows g ++ cygwin交叉編譯獲取linux可執行文件
我知道要爲unix構建一個可執行文件,我們使用makefiles。 makefile是典型的項目文件。 因此,我使用插件cbp2make.exe來獲取cbp項目文件的生成文件。我試圖在cygwin中執行make。希望得到一個linux可執行文件。但這顯然是錯誤的。
一個典型的測試C++測試程序test.c
將在cygwin中使用gcc交叉編譯選項進行編譯。
g++-linux -o test test.c
這將給我們的Linux可執行文件測試,或者如果沒有指定名稱,將給予一個a.out
這是一切都很好了,沒有包含的頭文件一個簡單的C++程序。
我明白當我們處理很多外部庫文件的C++文件時,簡單的g++ -o ourprojfile.exe ourprojectfile.cpp
不起作用,因此我們需要使用make文件。 問題1:我錯在假定這*
問題2:如何才能建立交叉編譯直接從代碼塊獲得一個Linux的可執行文件。
更新:我到底問題似乎缺少我認爲包括在主文件我依賴的cpp文件。 解決的辦法是將它們包括在主文件或簡單的寫處理,像這樣
g++-linux myprog_linux main.cpp first.cpp second.cpp third.cpp
現在的問題是後我得到的Linux的可執行文件。 當我嘗試Linux機器上運行它,我得到的
/usr/local/folder/myfile/my_prog_nix: error while loading shared libraries:
libstdc++.so.5: cannot open shared object file: No such file or directory
我需要做此明確什麼樣的鏈接的錯誤?
交叉編譯相當棘手和麻煩。既然你只是瞄準linux,那麼只需安裝linux並編譯就可以了。你也可以只用一臺虛擬機來安裝linux。 – 2011-04-15 07:54:35