由CMake構建的vs2005專案的弊端之我見

2021-05-28 05:43:00 字數 1221 閱讀 3201

距離第一次使用cmake已經3~4個月了,雖然這個工具能由徹頭徹尾的源**生成各種ide下面的專案

但我還是感到很不爽,因為所生成出來的專案並不完全等同於真正意義上的實打實的專案,這個不容易理解

我可以舉個例子,如同我將box2d的原始碼生成為vs2005的專案之後

ok,雖然雙擊build出來的.sln檔案可以正常編譯生成出來的專案,但是,

實際上專案中的標頭檔案還是在原始碼資料夾下面的,也就是說,

在這個生成出來的vs2005專案中,cpp檔案,h檔案只相當於原始碼資料夾中的快捷方式~

3個月前剛剛研究box2d源**的時候,對box2d是剛認識,對c、c++也不熟練,對vs2005 c++部分更是不熟練

我就每天鼓搗專案設定,爭取能夠理解專案設定中每一項設定到底會影響到什麼,就是下面這個圖裡面的東西:

我花了很長一段時間來摸索,因為我有乙個很明確的目標,我要將box2d裡面的所有原始碼檔案copy到專案的資料夾裡面

不再使用由cmake生成出來的那種所有源**檔案都被對映成快捷方式的專案,這樣的話讓我感覺自己對專案的結構瞭如指掌,踏實!

可以對比一下cmake生成出來的專案與真正包含.cpp,.h檔案的專案

之間的差別:

1.專案在檔案系統中目錄結構的對比:

下面是真正包含cpp,h檔案的vs2005專案在檔案系統中的目錄結構

下面是由cmake生成出來的vs2005專案在檔案系統中的目錄結構(包含的是由原始檔編譯好的obj檔案):

2.用vs2005開啟專案之後的對比:

下面是我由原始碼重新構建(包括freeglut,glui這兩個框架類庫,使用的原始碼而非lib,dll檔案)的box2d專案:

下面是由cmake構建出來的專案

(看著好像cpp檔案就在專案資料夾中,實際上如上所述,這裡所陳列的僅僅是如同快捷方式版的物件):

當然,這也僅僅只是我的個人意見,在大牛們看來,乙份原始碼供多種ide共同使用,這樣很好!!

但是在我這個小菜菜看來,任何脫離我掌控的東西所帶給我的都是迷惘,我必須要搞清楚其間的真相

這就是我對cmake所生成專案的看法~

有一天,我會試著去深入了解cmake所帶來的好處,但是這個離現在應該還有蠻長一段時間~

3.box2d壓縮包解壓後的目錄層級結構:

cmakegui由box2d原始碼生成vs2005專案的配置

由CMake構建的vs2005專案的弊端之我見

距離第一次使用cmake已經3 4個月了,雖然這個工具能由徹頭徹尾的源 生成各種ide下面的專案 但我還是感到很不爽,因為所生成出來的專案並不完全等同於真正意義上的實打實的專案,這個不容易理解 我可以舉個例子,如同我將box2d的原始碼生成為vs2005的專案之後 ok,雖然雙擊build出來的.s...

VS2005 構建軟體專案

前言 在本文章中,並不像其他的小型工程拷貝一些庫的原始碼,直接新增到工程中,而是作為乙個專案,新增到 工程中,並且通過設定專案的依賴項,完成工程的單步除錯 選擇屬性,c c 優化 禁用優化 解決 方案配置成release,好處在於呼叫乙個release版本的第三方dll,能夠無縫的執行。本文沒有涉及...

VS2005驗證控制項

驗證控制項,這個對我們來說是比較重要的,雖然他不高深,可用處是很大的,常見與資訊收集 其實他也沒有多少要講的,主要有以下幾個方面 他可以被定義外觀 廢話 驗證程式的顯示方式,是靜態還是動態 注意第乙個驗證控制項的兩種 分組顯示錯誤資訊 自定義服務端驗證 自定義客戶端驗證 正規表示式 required...