Bonjour à tous,
Dans un projet Visual Studio 2012, je dispose d'une série de lignes de commandes en post-build events afin de copier des dll dans le répertoire de l'exécutable. C'est une suite de lignes répétitive comme ceci :
Cela fonctionne à merveille. Mais perfectionniste, j'aurais aimé que l'output à la compilation ne soit pas remplie de 1 File(s) copied inutiles entre les noms de dll copiées lors d'un build, et surtout d'une longue série de 0 File(s) copied lors d'un rebuid.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 xcopy ".\Libs\poc\x32_d\boost_system-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\boost_thread-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\boost_iostreams-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\boost_regex-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\boost_date_time-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\boost_serialization-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\boost_chrono-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\boost_zlib-vc110-mt-gd-1_54.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\oncrpc.dll" "$(OutDir)" /D /Y xcopy ".\Libs\poc\x32_d\LIBBZ2.dll" "$(OutDir)" /D /Y xcopy ".\Libs\zlib\x32_d\zlibd.dll" "$(OutDir)" /D /Y xcopy ".\Libs\libmysql\libmysql.dll" "$(OutDir)" /D /Y etc, etc.
J'ai alors modifié chacune de mes commandes afin de faire disparaître la ligne en question du log, par exemple :
Autant cela fonctionne très bien en ligne de commande avec cmd quand je teste individuellement la copie d'une dll (en remplaçant $(OutDir) par un répertoire de mon choix). Autant voilà que j'ai une erreur MSB3073 sans description dès que j'intègre ce pipe find à la fin de mes lignes de commandes de mes Post-Build Events.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 xcopy /Y /D ".\Libs\zlib\x32_d\zlibd.dll" "$(OutDir)" | find /v "File(s) copied" xcopy ".\Libs\libmysql\libmysql.dll" "$(OutDir)" /D /Y | find /v "File(s) copied"
Pourquoi ce refus de l'IDE d'exécuter la commande ?
Après divers tests, je commence à me demander : Visual Studio serait-il allergique aux pipes dans les build events ? Pourtant, je ne trouve pas d'informations récentes qui iraient dans cette direction. Ai-je zappé une syntaxe essentielle pour ce que je souhaite faire ?
Merci d'avance pour votre aide
Partager