天天看點

VS2008+Qt 項目目錄

1、項目開發環境:VS2008,QT4.7

2、項目的目錄:

VS2008+Qt 項目目錄

1)PETCT是解決方案名字

2)Bin目錄存放所有動态連結庫和執行檔,包括自己的産出和第三方庫,區分Release和Debug兩個版本。另外,程式運作過程中需要外部的資料檔案和啟動時需要的配置檔案等等都可放于該目錄

3)ConsoleSubsytem是應用項目目錄

4)Include用于存放第三方庫的頭檔案

5)Lib目錄用于存放導入庫或者靜态庫(包括第三方庫和自己的項目)

6)Temp用于存放臨時生成檔案,其中Compile存放編譯器編譯時生成的obj檔案,Link存放連結器的輸出檔案。

7)TestDll是動态連結庫項目目錄,該項目會生成相關的Dll檔案和Lib導入庫檔案

上面目錄結構清晰,一面了然,當我們的程式需要制作安裝包或者要打包源碼

釋出的時候,它能夠使得我們生活變得更容易^_^

制作安裝包時我們隻需将“/PETCT/Bin/Release/”目錄下的所有檔案打包。

釋出和轉移源碼的時候我們可以打包除了Temp目錄以外“/GMA/”下面的所有檔案和目錄(如果不需要執行檔,也可不包括Bin)。

我們的需求是明确的,可是VC 2008并不會自動為我們做好上面所有的事情。不過我們并不需要編寫複雜的編譯腳本(makefile),隻需要簡單的修改項目的預設設定即可。

我們需要VC為我們做的事情包括:

1)使用“/PETCT/Temp/Compile/”作為項目編譯時使用的中間目錄

2)使用“/PETCT/Temp/Link/”作為項目連結的輸出目錄

3)當項目是應用程式時,在建構結束後拷貝執行檔案到“/PETCT/Bin/Release/”或“/PETCT/Bin/Debug/”,當項目是動态連結庫時,除了拷貝dll到Bin,還拷貝導入庫到“/PETCT/Lib/”

4)當項目是應用程式時,調試時運作“/PETCTBin/Debug/”或“/PETCT/Bin/Release/”下面的執行檔案,并以“/PETCTBin/Debug/”或“/PETCT/Bin/Release/”為工作目錄

首先看一下項目設定中可以使用的宏,常用的有:

ConfigurationName

配置名字,通常是Debug或者Release

IntDir

編譯器使用的中間目錄,産出obj檔案

OutDir

連結器使用的輸出目錄

ProjectDir

項目目錄

ProjectName

項目名字

SolutionDir

解決方案目錄

TargetDir

目标輸出檔案所在的目錄

TargetExt

目标輸出的擴充名

TargetFileName

目标輸出檔案名,包括擴充名

TargetName

目标輸出名,不包括擴充名

TargetPath

目标輸出檔案的全路徑名

3、詳細配置過程

         首先設定DLL項目TestDll

注意高亮的部分,首先将配置改成All Configuration(全部配置),這樣可以讓我們同時修改Debug和Release的部分;

Output Directory(輸出目錄,連結器)欄位填入:

$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)

Intermediate Directory(中間目錄,編譯器)欄位填入:

$(SolutionDir)\Temp\Compile\$(ProjectName)\$(ConfigurationName)

步驟1),步驟2),見下圖。

VS2008+Qt 項目目錄

3)建構結束後拷貝動态連結庫到“/GMA/Bin/Release/”或“/GMA/Bin/Debug/”,拷貝導入庫到“/GMA/Lib/”

我們通常都會在Debug版本的輸出庫後面加上字母“d”以表示這是Debug版本,在Debug配置下,修改Import Library欄位,見下圖

VS2008+Qt 項目目錄

VC可以讓我們設定建構前後執行的腳本程式,是以為了完成3,我們需要寫建構後執行的腳本:

在Command Line中填入,Debug配置下:

echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(ConfigurationName)" /y

echo D | xcopy "$(TargetDir)$(TargetName)d.lib" "$(SolutionDir)Lib" /y

Release配置下:

echo D | xcopy "$(TargetDir)$(TargetName).lib" "$(SolutionDir)Lib" /y

之是以要分别設定是因為VC沒有表示導入庫的宏名字 -_-P

OK,到此為止,你就可以編譯TestDll項目試試是不是一切正常了,不過請确認拷貝的目标目錄事先建立好。

VS2008+Qt 項目目錄

然後我們設定應用項目ConsoleSubsytem

2)使用“/ PETCT /Temp/Link/”作為項目連結的輸出目錄

首先将配置改成All Configuration(全部配置),這樣可以讓我們同時修改Debug和Release的部分;

$(SolutionDir)\Temp\Link\$(ProjectName)\$(ConfigurationName)

見下圖

VS2008+Qt 項目目錄

3)建構結束後拷貝執行檔案到“/ConsoleSubsytem/Bin/Release/”或“/ConsoleSubsytem/Bin/Debug/”

在Command Line中填入,All配置下:

VS2008+Qt 項目目錄

4)調試時運作“/PETCT/Bin/Debug/”或“/PETCT/Bin/Release/”下面的執行檔案,并以“/PETCT/Bin/Debug/”或“/PETCT/Bin/Release/”為工作目錄。見下圖

Debugging下,所有配置模式:

Command欄位填入:$(SolutionDir)Bin\$(ConfigurationName)\$(TargetFileName)

Working Directory欄位填入:$(SolutionDir)Bin\$(ConfigurationName)

VS2008+Qt 項目目錄

這樣就大功告成了,現在你就可以編譯該執行程式并進行調試。

我稍微總結了一下網絡上的關于VC項目檔案目錄的配置,主要結合自己現在項目要用的Qt。

網上值得推介的兩篇文章有:

這篇新寫的,也改正了網上出現的bug指令。很适合作參考來配置項目。

這個寫的比較細,适合弄懂這樣配置的原因

下載下傳次數: 2

繼續閱讀