Remplacer une ligne interprétée d'un fichier binaire batch/perl
Résolu
sylv_brl
Messages postés
21
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
16 septembre 2013
-
Modifié par sylv_brl le 2/09/2013 à 14:17
sylv_brl Messages postés 21 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 16 septembre 2013 - 11 sept. 2013 à 13:13
sylv_brl Messages postés 21 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 16 septembre 2013 - 11 sept. 2013 à 13:13
A voir également:
- Remplacer une ligne interprétée d'un fichier binaire batch/perl
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
sylv_brl
Messages postés
21
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
16 septembre 2013
2 sept. 2013 à 14:50
2 sept. 2013 à 14:50
En fait je penses que c'est bon, j'ai juste perdu des lignes vides de présentation ^^ :
Plus qu'à tester dans le script...
@echo off setlocal disableDelayedExpansion set "_strFind=CPPFLAGS = $(CFLAGS) -I/usr/local/include -L/usr/local/lib -Iinclude/" cp -f Makefile MakefileTemp (for /f "usebackq delims=" %a in (MakefileTemp) do ( if "%a" equ "%_strFind%" (echo CPPFLAGS = $(CFLAGS^) -I%DEPS%/amqp/rabbitmq-c-rabbitmq-c-v0.3.0/include/ -I include/ -L%DEPS%/amqp/rabbitmq-c-rabbitmq-c-v0.3.0/lib/ -Llib/) else (echo %a))) > MakefileTemp
Plus qu'à tester dans le script...
sylv_brl
Messages postés
21
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
16 septembre 2013
2 sept. 2013 à 15:43
2 sept. 2013 à 15:43
Reste encore un problème d'interprétation de '%' de '%a' que j'exécute ce code dans mon script, donc j'utilise bien '%%a' comme donnée initialement dans la solution. MakeFile n'a plus de lignes vides mais n'a pas réécrit la troisième ligne...
dubcek
Messages postés
18785
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
6 mai 2025
5 631
2 sept. 2013 à 16:37
2 sept. 2013 à 16:37
hello
dans un bat, uiliser %%a
dans un bat, uiliser %%a
for /f "usebackq delims=" %%a in ...
sylv_brl
Messages postés
21
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
16 septembre 2013
11 sept. 2013 à 13:13
11 sept. 2013 à 13:13
Ok donc finalement je reste avec ce code implémenté dans le .bat de construction des dépendances du projet global (Realxtend). Ici %DEPS% est la variable contenant le chemin de construction des ces dépendances (dont Rabbitmq-c et amqpcpp) :
...
Donc j'évite finalement d'utiliser des variables intermédiaires en plus d'utiliser '%%a' comme l'a spécifié dubcek, et là je n'ai plus de problème en traitant tout d'un coup, même si c'est un peu laid pour reconfigurer les chemins si besoin ensuite. Maintenant je dois comprendre des problèmes d'utilisation de .lib redirigeant vers une .dll avec préfixe '_imp_' mais c'est une autre histoire...
...
cd "%DEPS%\amqp\amqpcpp"...
cecho {0D}Compiling AMQPCpp.{# #}{\n}
sed -i "35i #define bzero(b,len) (memset((b), '\0', (len)), (void) 0)" include\AMQPcpp.h
@echo off
setlocal disableDelayedExpansion
(for /f "usebackq delims=" %%a in (Makefile) do ( if "%%a" equ "CPPFLAGS = $(CFLAGS) -I/usr/local/include -L/usr/local/lib -Iinclude/" (echo CPPFLAGS = $(CFLAGS^) -I%DEPS:\=/%/amqp/rabbitmq-c-rabbitmq-c-v0.3.0/librabbitmq/ -I%DEPS:\=/%/amqp/amqpcpp/include -L%DEPS:\=/%/amqp/rabbitmq-c-rabbitmq-c-v0.3.0/build/librabbitmq/RelWithDebInfo/
) else (echo %%a))) >MakefileTemp
rm Makefile
mv MakefileTemp Makefile
make -j%NUMBER_OF_PROCESSORS%
Donc j'évite finalement d'utiliser des variables intermédiaires en plus d'utiliser '%%a' comme l'a spécifié dubcek, et là je n'ai plus de problème en traitant tout d'un coup, même si c'est un peu laid pour reconfigurer les chemins si besoin ensuite. Maintenant je dois comprendre des problèmes d'utilisation de .lib redirigeant vers une .dll avec préfixe '_imp_' mais c'est une autre histoire...