Bonjour,
Avant tout, un fichier .cc c'est un fichier c++ ? Si "non", le modo peut déplacer, merci à lui.
Et donc, totalement newbie depuis 30 ans en C, désolé de vous importuner mais je suis face à un truc qui me laisse sans voix : j'ai récupéré les sources de cdrdao (pas tout jeune : circa 2019) et j'ai suivi le classique ./configure qui s'est bien déroulé, puis make qui a un peu crié lorsqu'il a trouvé un char qui devait être unsigned char, là j'ai trouvé avec l'aide de ggl, mais pour ce qui suit, je suis sec :
Je ne vais pas aller trifouiller le /usr/include/x86_64-linux-gnu/bits/stat.h, donc la chose doit se régler là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ScsiIf-linux.cc: In static member function static ScsiIf::ScanData* ScsiIf::scan(int*, char*): ScsiIf-linux.cc:287:37: error: no matching function for call to stat::stat(const char [22], stat*) 287 | if (stat(SYSFS_SCSI_DEVICES, &st) != 0) { | ^ In file included from /usr/include/fcntl.h:78, from ScsiIf-linux.cc:23: /usr/include/x86_64-linux-gnu/bits/stat.h:46:8: note: candidate: stat::stat() 46 | struct stat | ^~~~
et voilà l'extrait concerné du ScsiIf-linux.cc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ScsiIf-linux.cc:287:37: error: no matching function for call to stat::stat(const char [22], stat*) 287 | if (stat(SYSFS_SCSI_DEVICES, &st) != 0) { | ^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // Scan implementation uses sysfs to ScsiIf::ScanData *ScsiIf::scan(int *len, char* scsi_dev_path) { struct stat st; int matches = 0; unsigned i; ScanData* sdata = NULL; char* path = NULL; glob_t pglob; // la ligne 287 c'est celle qui est dessous : if (stat(SYSFS_SCSI_DEVICES, &st) != 0) { log_message(-2, "Unable to access sysfs filesystem at %s", SYSFS_SCSI_DEVICES); goto fail; }
Grand merci à celui qui pourra me mettre sur la voie,
Partager