[問題] 如何把一個VC專案移植到LINUX上?

作者: p52189 (鼠霸)   2015-02-23 11:44:49
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Windows 7
Ubuntu 14.04
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
應該不是問題重點(應該?)
問題(Question):
我手上有一個完整的 VC++ 專案,希望最後變成一支可以在 Ubuntu 上跑的程式
爬了網路上各種文章...還是覺得很混亂
我現在只知道要檢查一下引用的函數庫等等是不是跨平台
但是一個專案怎樣移過去完全不知道該怎麼辦....@@
希望有經驗的板友能提示一下
補充說明(Supplement):
作者: x000032001 (版廢了該走了)   2015-02-23 11:57:00
找好相依的lib 寫個makefile把不支援或行為不一樣的func處理一下 大致上是這樣吧
作者: EdisonX (卡卡獸)   2015-02-23 12:29:00
我覺得要切掉mfc/.net 移到linux難度頗高...忘了先問,應先補充用到vc的哪些東西。
作者: dritchie (卍~邁斯納效應~卍)   2015-02-23 13:13:00
你覺得不是重點的地方剛好是最重要的
作者: fireslayer (fireslayer)   2015-02-23 14:10:00
有用到UI或.net function重寫比較快
作者: Dforce (VF-17)   2015-02-23 14:11:00
不改的話,用wine!?
作者: Killercat (殺人貓™)   2015-02-23 16:43:00
把#include <windows.h>拿掉就解決一半了不過實務上來講,要是一開始就沒把core/ui切好的話要移植是很困難的,即使有切好,後面也是個考驗只能說平常除了切要切乾淨以外 用POSIX是很重要的習慣
作者: Push5F (帳號已賣)   2015-02-23 18:29:00
QT
作者: cpper (韓立)   2015-02-23 18:45:00
在Ubuntu上面裝好VMWare,再裝Win7虛擬機,再把專案移到Win7這樣專案就在Ubuntu上面跑了
作者: damody (天亮damody)   2015-02-23 19:43:00
linux上不是有個東西可以跑windows 用那個就好日的程式
作者: LPH66 (-6.2598534e+18f)   2015-02-23 20:11:00
那就是 Dforce 提的 wine
作者: james732 (好人超)   2015-02-23 21:56:00
複製、貼上、g++、Google
作者: NilPtr (神奇的空指標)   2015-02-23 23:16:00
找功能類似的庫封裝成一樣的 Interface 不知道可不可行
作者: james732 (好人超)   2015-02-23 23:18:00
我還是覺得直接搬過去然後給他編譯下去就知道問題了..XD
作者: Killercat (殺人貓™)   2015-02-24 00:01:00
不過先改寫成CMake 可以找出一些早期的問題反正CMake能轉成makefile, .vsproj 先轉CMake吧
作者: carylorrk (carylorrk)   2015-02-24 12:16:00
程式很小 該不會只是個單擋的程式吧XD
作者: x000032001 (版廢了該走了)   2015-02-24 12:26:00
這樣很小啦 ReadOSM也有tarball 應該不會太難
作者: descent (「雄辯是銀,沉默是金」)   2015-02-24 16:31:00
你會用 gcc compile 程式碼嗎?直接用 gcc compile 程式碼之後看錯誤訊息
作者: cobrasgo (人魚線變成鮪魚線,超帥)   2015-02-24 19:10:00
windows我不熟,不過你呼叫了那些library是重點中的重點Linux下可以用ldd來看,windows我就不知道了
作者: Killercat (殺人貓™)   2015-02-24 20:36:00
windows下叫做dumpbin
作者: kikiqqp (喵食罐頭)   2015-02-27 02:40:00
用wine包一包?
作者: HowLeeHi (處處留心皆正妹)   2015-03-03 00:29:00
Linux裝VirtualBox灌windows來跑最快..XDD我來亂的

Links booklink

Contact Us: admin [ a t ] ucptt.com