距離第一次使用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...