Ошибка компиляции asm / atomic.h - PullRequest
1 голос
/ 04 марта 2010

У меня есть старый проект C ++, и у меня проблемы с его сборкой. Для определенного файла я получаю следующие виды ошибок:

ошибка: "atomic_t" не был объявлен в этой области

И другие для других идентификаторов, таких как atomic_read, atomic_inc и т. Д. В файле есть включение для asm / atomic.h, но я не могу найти файл заголовка в моей системе. Я использую SUSE Linux Enterprise Desktop 11 и gcc 4.3.2.

Может ли быть установлен какой-либо пакет или альтернативный заголовок для этих идентификаторов?

1 Ответ

1 голос
/ 04 марта 2010

Они предназначены для заголовков ядра, а не для приложений. Они являются прототипами для некоторых атомарных тестов и наборов, приращений, декрементов и т. Д., Которые реализованы на ассемблере.

, поэтому даже если вы найдете заголовочные файлы, вам все равно понадобится .o из источников asm или .asm.

Это не те файлы, которые вы ищете, но они, скорее всего, будут такими же или похожими.

http://github.com/github/linux-2.6/blob/3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0/arch/sh/include/asm/atomic.h http://github.com/apache/stdcxx/blob/7b51a66e3db202b7d317c74a5666aaeef7b4ebd0/src/atomic.asm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...