2016-04-13 63 views
1

Bir MSVC2013 Çözümü 2 proje, bir tane DLL Kitaplığı ve bir tane kütüphaneyi test etmek için bir yürütülebilir. Benim klasör yapısı şöyledir:Dosyaları bir projenin oluşturulmasında ikinci bir projenin içerme/kitaplık dizinlerine nasıl kopyalarım?

SolutionDir 
|-- DLL 
| `-- src 
|-- Executable 
| `-- src 
|-- .libs 
| |-- DLL 
| | |-- include 
| | |-- bin 
| | `-- lib 
| `-- (others) 
`-- .build 
    |-- Executable 
    | |-- Debug 
    | `-- Release 
    `-- DLL 
     |-- Debug 
     `-- Release 

ben sadece (* = include & & lib & & bin) SolutionDir/.libs/DLL/* için benim DLL otomatik kopyalandığı gelen build solution ve kütüphane dosyaları vurmak zorunda olduğunu ona sahip olmak istiyorum. Ve (DLL).dll dosyasının da SolutionDir/.build/Executable/(Configuration) dosyasına kopyalanması gerekir.

Dosyaları kopyalamak için bir batch dosyası oluşturabildiğimi hayal ediyorum ama her kurulduğunda nasıl çalıştırabilirim?
Ya da MSVC'nin bunu başarabilecek bazı yerleşik işlevleri var mı?

cevap

1

"Yapı Sonrası Olay" ı kullanın; Komut Satırı'nda copy /Y "$(TargetPath)" "$SolutionDir/.libs/DLL/lib" ve diğerleri ekleyin.

+0

Peki bu komut tam olarak nasıl çalışıyor? "copy/Y" (TargetPath) "" Kaynak Yolu ". Ve ne yapıyorsun? – sro5h

+1

kopya, bir windows/dos komutudur./Y onaylamayı bastırmak için. $ (TargetPath) projenizin hedefini ifade eder, örn. DLL. – kjpus