簡體   English   中英

C:在Windows中運行Unix配置文件

[英]C: Running Unix configure file in Windows

我想將我在Linux上使用的一些應用程序移植到Windows。 特別是我一直在研究wdiff 一個程序,用於逐個比較兩個文件的差異。

目前我已經能夠通過Cygwin在Windows上成功編譯程序。 但是,我想在Windows上本地運行程序,類似於Project: UnixUtils

我將如何在Windows環境中移植unix實用程序?

我可能會猜測手動創建./configure文件,以便我可以創建一個正確的makefile。 我是在正確的軌道上嗎? 有沒有人有將GNU軟件移植到Windows的經驗?

更新:

我在Code :: Blocks上編譯了它,我得到兩個錯誤:

  • wdiff.c | 226 |錯誤:`SIGPIPE'未聲明(首次使用此函數)

  • readpipe.c:71:未定義引用`_pipe'

  • readpipe.c:74:對_forfor的未定義引用

這是一個linux信號,Windows不支持... equvilancy?

  • wdiff.c | 1198 |錯誤:`PRODUCT'未聲明(首次使用此功能)|

這是在configure.in文件中...硬編碼可能是最快的解決方案......

結果:

MSYS負責配置問題,但MinGW無法解決posix問題。 我嘗試按照mrjoltcola的建議使用pthreads 但是,幾個小時后,我無法使用提供的庫進行編譯或鏈接。 我認為如果這有效,那將是我追求的解決方案。 特別提到Michael Madsen的MSYS。

是。 如果您堅持使用標准C庫和POSIX功能,則大多數都可以在Windows上使用。 您可能只需要找到實現。 有些東西的實現不需要Cywgin或MinGW(比如pthreads包等)

此外,還有一本很好的書,以W. Richard Steven 在UNIX環境中高級 程序設計的方式編寫 ,本書是Windows系統編程 ,作者Johnson Hart。 他有第4版。 它側重於系統編程,沒有任何GUI處理。

http://www.amazon.com/Windows-Programming-Addison-Wesley-Microsoft-Technology/dp/0321657748

對於遷移到Windows的UNIX編程,這是我所知道的最好的書。

您可以查看與cygwin類似的MinGW(和MSYS),但gcc會生成本機Windows可執行文件。 但是,由於Unix仿真不如cygwin,您可能需要調整代碼。

即使在移植應用程序時也始終嘗試遵循標准。 Windows / Linux上存在POSIX兼容的編譯器。 你可以嘗試mingw。 它具有構建標准POSIX應用程序(GNU Linux)所需的完整工具鏈。 查看Dev-Cpp可以簡化工作。

MinGW是在Windows PC上獲取gcc和相關二進制實用程序(包括gdb)的最簡單方法。 它包括頭文件和導入庫,以便您可以調用本機Windows API。 如果您想要更多集成的IDE開發環境,可以下載Microsoft的免費Visual Studio Express C ++

無論哪種方式,您都可能需要將某些函數調用轉換為使用Windows特定的API(如果您想要一本書,我還會推薦在mrjoltcola的答案中提到的Hart書)。 對於簡單的命令行工具,這種轉換通常不是什么大問題,大型移植噩夢傾向於涉及具有GUI的工具,這些GUI具有對OS提供的GUI框架的深度嵌入依賴性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM