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

看板C_and_CPP作者時間9年前 (2015/02/23 11:44), 9年前編輯推噓12(12019)
留言31則, 17人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Windows 7 Ubuntu 14.04 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 應該不是問題重點(應該?) 問題(Question): 我手上有一個完整的 VC++ 專案,希望最後變成一支可以在 Ubuntu 上跑的程式 爬了網路上各種文章...還是覺得很混亂 我現在只知道要檢查一下引用的函數庫等等是不是跨平台 但是一個專案怎樣移過去完全不知道該怎麼辦....@@ 希望有經驗的板友能提示一下 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.138.150.32 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1424663095.A.95C.html ※ 編輯: p52189 (140.138.150.32), 02/23/2015 11:50:40 ※ 編輯: p52189 (140.138.150.32), 02/23/2015 11:51:18

02/23 11:57, , 1F
找好相依的lib 寫個makefile
02/23 11:57, 1F

02/23 11:58, , 2F
把不支援或行為不一樣的func處理一下 大致上是這樣吧
02/23 11:58, 2F
謝謝! 這個十分有用

02/23 12:29, , 3F
我覺得要切掉mfc/.net 移到linux難度頗高...
02/23 12:29, 3F

02/23 12:30, , 4F
忘了先問,應先補充用到vc的哪些東西。
02/23 12:30, 4F
我不知道這個該檢察哪裡 囧r2 程式很小只是我不知該如何下手 內容大致就是餵文字檔然後吐二進位 沒有UI

02/23 13:13, , 5F
你覺得不是重點的地方剛好是最重要的
02/23 13:13, 5F
有用這個 https://www.gaia-gis.it/fossil/readosm/index 其他都手刻的

02/23 14:10, , 6F
有用到UI或.net function重寫比較快
02/23 14:10, 6F
應該沒@@

02/23 14:11, , 7F
不改的話,用wine!?
02/23 14:11, 7F
謝謝!真的改不動再試試這個

02/23 16:43, , 8F
把#include <windows.h>拿掉就解決一半了
02/23 16:43, 8F

02/23 16:43, , 9F
不過實務上來講,要是一開始就沒把core/ui切好的話
02/23 16:43, 9F

02/23 16:44, , 10F
要移植是很困難的,即使有切好,後面也是個考驗
02/23 16:44, 10F

02/23 16:45, , 11F
只能說平常除了切要切乾淨以外 用POSIX是很重要的習慣
02/23 16:45, 11F
沒有<windows.h>....哈哈(汗 POSIX我不是很熟需要研究一下

02/23 18:29, , 12F
QT
02/23 18:29, 12F

02/23 18:45, , 13F
在Ubuntu上面裝好VMWare,再裝Win7虛擬機,再把專案移到Win7
02/23 18:45, 13F

02/23 18:45, , 14F
這樣專案就在Ubuntu上面跑了
02/23 18:45, 14F

02/23 19:43, , 15F
linux上不是有個東西可以跑windows 用那個就好日
02/23 19:43, 15F

02/23 19:44, , 16F
的程式
02/23 19:44, 16F

02/23 20:11, , 17F
那就是 Dforce 提的 wine
02/23 20:11, 17F

02/23 21:56, , 18F
複製、貼上、g++、Google
02/23 21:56, 18F
謝謝各位板友 能的話我是想盡量改好搬過去 感謝大家熱血提示XD ※ 編輯: p52189 (114.34.22.61), 02/23/2015 22:29:47

02/23 23:16, , 19F
找功能類似的庫封裝成一樣的 Interface 不知道可不可行
02/23 23:16, 19F

02/23 23:18, , 20F
我還是覺得直接搬過去然後給他編譯下去就知道問題了..XD
02/23 23:18, 20F

02/24 00:01, , 21F
不過先改寫成CMake 可以找出一些早期的問題
02/24 00:01, 21F

02/24 00:02, , 22F
反正CMake能轉成makefile, .vsproj 先轉CMake吧
02/24 00:02, 22F

02/24 12:16, , 23F
程式很小 該不會只是個單擋的程式吧XD
02/24 12:16, 23F

02/24 12:26, , 24F
這樣很小啦 ReadOSM也有tarball 應該不會太難
02/24 12:26, 24F

02/24 16:31, , 25F
你會用 gcc compile 程式碼嗎?
02/24 16:31, 25F

02/24 16:32, , 26F
直接用 gcc compile 程式碼之後看錯誤訊息
02/24 16:32, 26F

02/24 19:10, , 27F
windows我不熟,不過你呼叫了那些library是重點中的重點
02/24 19:10, 27F

02/24 19:11, , 28F
Linux下可以用ldd來看,windows我就不知道了
02/24 19:11, 28F

02/24 20:36, , 29F
windows下叫做dumpbin
02/24 20:36, 29F

02/27 02:40, , 30F
用wine包一包?
02/27 02:40, 30F

03/03 00:29, , 31F
Linux裝VirtualBox灌windows來跑最快..XDD我來亂的
03/03 00:29, 31F
文章代碼(AID): #1Kwg8tbS (C_and_CPP)