2016-07-26 50 views
0

我在windows server 8中有一個名爲「Project.c」的c-project /文件,而且我可以編譯並在我的計算機上運行。我使用以下命令來編譯/構建。在任何計算機上運行C-Excutable/Setup文件

gcc -o myexcutable Project.c external_libraries 

:-external庫,庫,例如:lpthreadlpcre和其他...

和運行:$./myexcutable

但是,現在,我要來接我的可執行文件(只)到其他計算爲「設置」。然後當我開始我的可執行文件/安裝程序時,它應該運行!但事實並非如此。我的問題是,是否有任何技術可以使可執行文件在Windows服務器8上運行?謝謝。

Edit[1]:基本上,當我說什麼 「電腦/電腦」,它在Windows Server 8(相同的操作系統)

Edit[2]:錯誤我得到,說:The program can't start because cygwin1.dll is missing from your computer. Try reinstalling the program to fix this problem.

+0

假設任何PC都包含Linuxes,BSDs,Mac等等,這是不可能的。他們都有一些不同的系統調用,不同的二進制加載器等等。你所能做的最好的就是堅持使用標準的C/C++,在每個C/C++上進行編譯,然後分發特定的二進制文件。 – Xarn

+1

做一個'GCC交叉編譯器'的互聯網搜索一個有趣的鏈接可能是:https://en.wikipedia.org/wiki/Cross_compiler – 4386427

+0

@ Xarn:謝謝你的答覆,但即使在同一臺機器/計算機上win服務器8),它不適合我。 – kahsay

回答

0

因爲每一個建築工作的一點不同,它基本上是不可能的,你可以做的最好的是靜態鏈接庫,如果其他PC具有相同的體系結構和操作系統,它應該工作。 靜態鏈接庫使用-static選項,如下所示:

gcc -o myexcutable Project.c -static external_libraries 

另一個解決方案是編譯許多不同版本的安裝和使用一個不同的每臺PC。

相關問題