============================================
1-在*.sln所在的目錄下新建以下的目錄組織:
lib
include
bin\release
bin\debug
temp\link
temp\compile
2- All configuration下配置:
Configuration Properties\General
output Directory
$(SolutionDir)temp\link\$(ProjectName)\$(Configuration)\
Intermediate Directory
$(SolutionDir)temp\compile\$(ProjectName)\$(Configuration)\
3-編譯鏈接完成後,將可執行程序拷貝到響應的bin的對應$(Configuration)之下,($(Configuration)通常是指debug和Release),在command的All之下配置:
copy $(TargetPath) $(SolutionDir)bin\$(Configuration)\;
4-選定$(SolutionDir)bin\$(Configuration)\;做爲工做目錄:
在All Configuration的Debugging之下:
Command下填寫:
$(SolutionDir)bin\$(Configuration)\$(TargetFileName)
Working Directory下填寫:
$(SolutionDir)bin\$(Configuration)\
對於通常的生成動態連接庫dll文件的工程,使用下面的方法:
1- 新建solution,獲得solution目錄;
在solution目錄下有以下文件夾組織:
lib 存放第三方庫和本地項目編譯完成後的庫,debug和release的lib全都放在這裏。
include 存放與第三方庫和本地庫相一致的庫的頭文件。
bin\release 存放編譯完成後的可執行程序的release版本
bin\debug 存放編譯完成後的可執行程序的debug版本
temp\link 臨時連接目錄
temp\compile 臨時編譯目錄
*.sln,*.suo 解決方案文件文件
project1,project2,projectN 各個工程文件
通過上面的目錄建立後,開始進行項目目錄的配置工做。
務必注意全部下劃線全都必須是反斜槓"\",若是在命令行中正反斜槓混合使用,命令會運行失敗。
$(SolutionDir)的結尾是包含有一個反斜槓"\"的,請在拼接命令是注意。
如下目錄配置與工程名稱無關,適用於通常的工程組織過程。
在*.sln所在的目錄下新建以下的目錄組織:
lib
include
bin\release
bin\debug
temp\link
temp\compile
2- All configuration下配置:
Configuration Properties\General
output Directory
$(SolutionDir)temp\link\$(ProjectName)\$(Configuration)\
Intermediate Directory
$(SolutionDir)temp\compile\$(ProjectName)\$(Configuration)\
3- Linker\Advanced下配置Import Library
***在release選項中***
$(TargetDir)$(TargetName)_x64.lib 或者面向x86的代碼使用
$(TargetDir)$(TargetName)_x86.lib
***在debug選項中***
$(TargetDir)$(TargetName)_x64_d.lib
或者面向x86的代碼使用
$(TargetDir)$(TargetName)_x86_d.lib
4- 在完成編譯以後,須要將必要的庫轉存到合適的目錄下:
Build Events\Post-Build Event中,
***在release選項中***
copy $(TargetPath) $(SolutionDir)bin\$(Configuration)\;
copy $(TargetDir)$(TargetName)_x64.lib $(SolutionDir)lib\;
copy $(ProjectDir)$(TargetName).h $(SolutionDir)include\;
注意分號!!!注意下劃線!!!注意庫文件的函數聲明和導出的類聲明務必放在與工程名稱相同的頭文件中。
***在debug選項中***
copy $(TargetPath) $(SolutionDir)bin\$(Configuration)\;
copy $(TargetDir)$(TargetName)_x64_d.lib $(SolutionDir)lib\;
copy $(ProjectDir)$(TargetName).h $(SolutionDir)include\;
注意分號!!!注意下劃線!!!注意庫文件的函數聲明和導出的類聲明務必放在與工程名稱相同的頭文件中。