今天写一点关于Visual Studio使用的一个小技巧。
Visual Studio编译生成的dll和lib文件放置到不同的路径中,其实很有用,如果我们有很多的项目,而且项目间的dll相互依赖,那么将编译生成的dll和lib文件放在统一的路径或目录中还是很方便的。
以下是我的做法,我们需要先写一个bat。
以下是copy_output.bat的写法,类似这样:
@echo copying file(s)
@echo off
REM @echo on
@REM echo %1\%2
@REM dir /p %1\%2.dll
@REM copy the exe file, if exists
if exist %1\%2.exe for /F "eol= tokens=4,4,* delims= " %%X in ('dir /p %1\%2.exe') do if exist %1\%%X copy %1\%%X %YOUR_BIN_PATH%
@REM copy the dll file, if exist
if exist %1\%2.dll for /F "eol= tokens=4,4,* delims= " %%X in ('dir /p %1\%2.dll') do (if exist %1\%%X copy %1\%%X %YOUR_BIN_PATH%)
@REM copy the lib file, if exists
if exist %1\%2.lib for /F "eol= tokens=4,4,* delims= " %%X in ('dir /p %1\%2.lib') do (if exist %1\%%X copy %1\%%X %YOUR_LIB_PATH%)
我们还要在Visual Studio的project的属性进行一点设置,具体如下截图所示(我使用的是德文版的VS):
点选进入Build Events,在Post-Build Event的Command Line中输入copy_output.bat $(TargetDir) $(TargetName),完成。
附注:如果路径上有空格譬如,C:\Program Files,那么要在$(TargetDir)上加入引号。
copy_output.bat "$(TargetDir)" $(TargetName)
没有评论:
发表评论