(三) Winelib使用者手冊2

2021-09-20 02:30:02 字數 2298 閱讀 4625

3.3 一步一步的指導

下面我們詳細地來追蹤一下上面的步驟。

1): 獲取原始碼

首先,你應該試著獲取包括他們構建的可執行檔案/庫在內的原始碼。如果你沒有可用的visual c++專案檔案,winemaker能夠幫助他猜測你的專案要構建成什麼。他能夠理解visual c++專案。通常情況下,可執行檔案/庫檔案位於原始碼中的release或者是debug子目錄中。所以,你能夠講這些原始碼檔案和這些目錄轉換到linux中是最好的。注意,沒有必要去轉換.obj,.pch,.sbr和位於這些目錄中的檔案。

2): cd root_dir

然後進入你的原始碼的根目錄中。winemaker能夠一次就處理所有的檔案結構,所以你不必進入子目錄。當乙個目錄需要makefile檔案的話,winemaker將會自動生成該檔案,並且會生成乙個全域性的makefile檔案,以便你能夠僅僅使用乙個make命令就能夠重新構建所有的可執行檔案和庫檔案。

3): 使原始碼可寫

然後,確保你對你的原始碼有寫許可權。這聽上去是很明顯的,但是如果你從乙個cd中複製來的原始碼或者這些原始碼在windows中是源**安全的話,很可能出現他們是唯讀的。但是winemaker需要寫許可權所以他能夠修復他們。你可以使用」chmod -r u+w .」來重新修改許可權。你也可能想要確保由乙份原始碼的備份以防出現錯誤,我們會在後面的點中提供參考。你過是使用了版本控制系統,你已經被覆蓋了。

如果你已經對原始碼進行了修改,並且你不想winemaker對他們做出修改了,你可以使用 –nosource-fix選項來保護他們。

4): 執行winemaker

然後就是執行winemaker.下面是一些你可能會用到的選項。如果你想要檢視所有的選項的話,你檢視man手冊。

--lower-uppercase, --lower-all

這個選項指定了如何去處理帶有「不正確的」大小寫的檔案和目錄。--lower-uppercase指定了,如果他們的名稱全都是大寫的,他們需要被重新命名。所以例如hello.c這樣有混合大小寫名稱的檔案不會被重新命名。--lower-all將會對所有的檔案重新命名。如果沒有指定的話,檔案或者是目錄都將不會被重新命名。正如後面看到的,winemaker可能依然需要去給一些檔案重新命名。

--nobackup

winemaker在 進行windows到unix轉換的時候,通常會備份所有的檔案。如果你已經有備份了,不用重新進行備份了,那麼你就應該使用這個選項。

--dll, --console

--mfc

該選項告訴winemaker,你正在構建乙個mfc應用/庫

-dmacro[=defn], -idir, -ldir, -idll, -llibrary

-i通過檔案機制的規格指定了乙個winelib庫。與選項-l相比,該選項指定乙個unix庫去鏈結。其他的選項都是一樣的工作方式。所有的選項都應用在所有的目標中。當使用-l或者是-l指定乙個目錄的   時候,winemaker會使用$(topdirectory)/來修復一下相對路徑,所以,他對任何原始碼路徑來說都是有效的。如果你想的話,你也可以在路徑中使用能夠乙個變數(不要忘記加上$符號)。舉個例子,你可以指定-l\$(winelib_include_root)/msvcrt。

所以,你的命令最終就像是這樣的:winemaker –lower-uppercase -lmylib/include。

5): 檔案重新命名

當你執行winemaker的時候,他首先會按照你的期望重新規整命名的大小寫,所以他們將會被makefile檔案處理。後面就會指明乙個沒有小寫副檔名的檔案將會被重新命名,所以,副檔名應該用小寫,hello.c將會被重新命名位hello.c。如果乙個檔案或者是乙個目錄的名稱包含乙個空格或者是乙個$字元,這個字元將會被下橫線替代。這是因為這些字元在autoconf(2.13)版本和make(3.79)版本中會導致問題。

6):源**修改和makefile檔案生成

winemaker將會處理修改的原始檔以便他們能夠使用winelib編譯。如果他們猜測到或者是發現乙個不正確的問題的時候,他將會列印出警告資訊。最終會生成makefile檔案。一旦這些工作完成了,你可以使用diff -uw來檢視winemaker對這些檔案做的改變。例如:diff -uw hello.c.bak hello.c

7): 執行make

重新審視一下makefile檔案,猜測winemaker想要如何去編譯你的二進位制檔案,哪乙個原始碼檔案應該被使用。檢視winemaker的原始碼分析來尋找一些提示。

修改你的原始碼的可移植性的問題。

Vikings V2使用者手冊

見 原創工具 資料夾 版本 v2.0.0 版本號說明 v 軟體重寫號 軟體修改號 手冊修改號 本手冊與軟體同時更新。摘要 為使fc程式設計方便快捷,特意製作vikings系列作品。viking v2 是vikings的第二版。為了使用簡約,容易上手,我將其設計成記事本形式。同時新增了 多頁編輯 多種...

oracle ebs使用者手冊

文件如下圖所示 主要包括 概觀 技術 客戶關係管理 crn 合同 財務系統 fin 人力資源系統 hr 採購 po 專案 project 鏈管理 scm 服務 規劃 客戶關係管理 crm 主要包括 2 銷售和市場 sales and marketing,sm 3 客戶資料中心 財務系統 fin 主要...

HEVC 使用者手冊

hevc使用者手冊 gop結構表 結構表中的行數為gop的長度。每幀按照解碼的順序排列。因此frame1是解碼的第一幀。gop表指定解碼端每一幀的所有參考幀。這些參考幀包括當前影象的和未來影象將要用到的參考幀。編碼器不會自動計算那一幀將會被用作未來的參考幀,他們必須被指定。temporal id 當...