Есть ли в gcc флаг компиляции для преодоления «ошибки: недопустимый класс хранения»? - PullRequest
0 голосов
/ 05 февраля 2019

Я делаю свой собственный проект Alsa.

После изменения ОС (новая установка / без обновления) с

PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)"
NAME="Raspbian GNU/Linux" 
VERSION_ID="7" 
VERSION="7 (wheezy)"
ID=raspbian 
ID_LIKE=debian

4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux

на

PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian

4.14.93-v7+ #1191 SMP Wed Jan 16 11:53:33 GMT 2019 armv7l GNU/Linux

Я дополнительно загрузил / установил

alsa-lib-1.1.8.tar.bz2

без каких-либо ошибок!

В промежутке между проектами ничего не было затронуто - все источники alsa скомпилировались нормально под wheezy !!! недопустимый класс хранилища 'ошибка при повторной компиляции проекта с библиотекой / источниками alsa (включенными в / usr / include / alsa):

In file included from /usr/include/alsa/asoundlib.h:54:0,
             from IPI2Cserver.c:3764:
/usr/include/alsa/pcm.h:507:23: error: invalid storage class for function    ‘snd_pcm_abort’
static __inline__ int snd_pcm_abort(snd_pcm_t *pcm) { return   snd_pcm_nonblock(pcm, 2); }
                   ^~~~~~~~~~~~~
In file included from /usr/include/alsa/asoundlib.h:54:0,
             from IPI2Cserver.c:3764:
/usr/include/alsa/pcm.h:1030:20: error: invalid storage class for function   ‘snd_pcm_pack_audio_tstamp_config’
static inline void snd_pcm_pack_audio_tstamp_config(unsigned int *data,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/pcm.h:1038:20: error: invalid storage class for function ‘snd_pcm_unpack_audio_tstamp_report’
static inline void snd_pcm_unpack_audio_tstamp_report(unsigned int data, unsigned int accuracy,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/alsa/asoundlib.h:58:0,
             from IPI2Cserver.c:3764:
/usr/include/alsa/control.h:237:23: error: invalid storage class for  function ‘snd_ctl_abort’
static __inline__ int snd_ctl_abort(snd_ctl_t *ctl) { return  snd_ctl_nonblock(ctl, 2); }
                   ^~~~~~~~~~~~~
In file included from /usr/include/alsa/asoundlib.h:58:0,
             from IPI2Cserver.c:3764:
/usr/include/alsa/control.h:558:23: error: invalid storage class for function ‘snd_hctl_abort’
static __inline__ int snd_hctl_abort(snd_hctl_t *hctl) { return snd_hctl_nonblock(hctl, 2); }
                   ^~~~~~~~~~~~~~

Вопрос сейчас - что изменилось после миграциирастянуть без каких-либо дальнейших изменений проекта?

Изменения в alsa?Изменения в растяжке?

Заранее спасибо - любая помощь очень ценится!

Я не профессионал / эксперт, поэтому я не чувствую себя способным изменять заголовки исходного кода alsa для адаптации кновая ситуация!

1 Ответ

0 голосов
/ 05 февраля 2019

Спасибо за ответ!

Просто пример из вызывающей основной программы (в строке 3764, когда появляется ошибка):

#include <alsa/asoundlib.h>   // <- line 3764

int display_alsa() {
int val;

printf("ALSA library version: %s\n",
      SND_LIB_VERSION_STR);

printf("\nPCM stream types:\n");
for (val = 0; val <= SND_PCM_STREAM_LAST; val++)
   printf("  %s\n",
    snd_pcm_stream_name((snd_pcm_stream_t)val));

...

С уважением

...