Windows 程式移植到Linux平台的一波N折

2021-05-10 14:01:23 字數 892 閱讀 6359

本人前端時間寫了個html檔案分析器,windows平台上的vc6.0,使用標準c++。昨天接到指令,應要求要發布乙個linux版本的,茫然啦,linux下面的hello world都沒有玩過,對linux下的c++程式僅僅限於聽他們神吹過的gcc, g++, makefile什麼的,其他一概不知。這就注定移植過程必然full of frustrating.

早上在如同涓涓溪流的網路中下了個600多m的ubuntu iso,裝上虛擬機器,安裝ubuntu,一切順利,安裝成功,重新啟動,大汗.只有黑乎乎的命令列,沒有影象介面兒。哎,原來裝的是ubuntu server 版。

下午經論壇高人甲指點:

1.把盤放進光碟機

2.$sudo apt-cdrom add

3.$sudo apt-get install build-essential

高人指點的招數還是有問題,後來又經高人乙指點

用 aptitude 替代 apt-get ,前者可以自動處理依賴異常並給出解決方案。及$3 sudo aptitude install build-essential。噹噹當,build-essential安裝成功。

從csdn上隨便找了個makefile的模板,再簡單的改了改,編譯,成功。有幾個worning:end file with new line什麼什麼的。

最後總結一下linux(ubuntu)c++編譯環境的搭建方法 or 過程:

2 在虛擬機器vmware中安裝。

3 執行一下操作:

a.把盤放進光碟機

b.$sudo apt-cdrom add

c.$sudo aptitude  install build-essential

在vmware中可以這樣插入光碟,選單vm->removeable device-> cd room -> edit.

Socket程式從windows移植到linux下

1 標頭檔案 windows下winsock.h或winsock2.h linux下netinet in.h 大部分都在這兒 unistd.h close函式在這兒 sys socket.h 在in.h裡已經包含了,可以省了 2 初始化 windows下需要用wsastartup啟動ws2 32.l...

移植程式到symbian平台

symbian平台理論上可以平移標準的c c 語 言程式,以及標準庫。只需要在mmp檔案中進行如下編寫 target hello.exe targettype exe uid 0 sourcepath source slhello.c systeminclude epoc32 include lib...

c 程式移植到android

在android 4.4之後新增了新的保護機制,可執行檔案必須是採用pie編譯的。如果是使用ndk進行編譯的 需要使用到android.mk指令碼 則在指令碼中新增 local cflags pie fpie local ldflags pie fpie 如果是手動採用交叉編譯鏈進行編譯的,則在編譯...