Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 82, средняя оценка - 4.89
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
#1

Странная ошибка при сборке nasm - C++

25.09.2011, 15:50. Просмотров 9865. Ответов 3
Метки нет (Все метки)

всем привет.
нужно собрать nasm для вендус. использую MSYS+MinGW.

configure прошел успешно.
при сборке получаю такое:
nasm.h:476:5: error: expected identifier before numeric constant
nasm.h:882:26: error: 'PREFIX_ENUM_LIMIT' undeclared here (not in a function)
ссылка на этот файл: http://repo.or.cz/w/nasm.git/blob/HEAD:/nasm.h
и конкретно первый фрагмент:
C
1
2
3
4
5
6
7
8
9
enum prefixes { /* instruction prefixes */
 P_none = 0,
 PREFIX_ENUM_START = REG_ENUM_LIMIT,
 P_A16 = PREFIX_ENUM_START, P_A32, P_A64, P_ASP,
 P_LOCK, P_O16, P_O32, P_O64, P_OSP,
 P_REP, P_REPE, P_REPNE, P_REPNZ, P_REPZ, P_TIMES,
 P_WAIT, /** <<<<<<<<<<<<<<<<< 476 */
 PREFIX_ENUM_LIMIT
};
второй:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
enum special_tokens {
    SPECIAL_ENUM_START  = PREFIX_ENUM_LIMIT, /** <<<<<<<<<<< 882 */
    S_ABS               = SPECIAL_ENUM_START,
    S_BYTE,
    S_DWORD,
    S_FAR,
    S_LONG,
    S_NEAR,
    S_NOSPLIT,
    S_OWORD,
    S_QWORD,
    S_REL,
    S_SHORT,
    S_STRICT,
    S_TO,
    S_TWORD,
    S_WORD,
    S_YWORD,
    SPECIAL_ENUM_LIMIT
};
собственно вторая ошибка вызвана первой.

никак не могу понять что тут не правильно с enum %)


спасибо.

Добавлено через 1 час 15 минут
ах ###! P_WAIT - макрос который определен в mingw`овском process.h

какие идеи, кроме как рефакторить коды nasm`а ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2011, 15:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Странная ошибка при сборке nasm (C++):

Ошибка при сборке проекта в Eclipse, с++ - C++
Подскажите пожалуйста, как можно исправить ошибку? Возможно я что-то не то сделал или не все инструкции доделал до конца? ...

Для чего нужены параметры disable-rpath и disable-symvers при сборке? - C++
Подскажи пожалуйста, для чего нужен параметр disable-rpath и disable-symvers при сборке? Сообщения вынесены из темы Сборки...

Странная ошибка при работе с Excel - C++ Builder
Пытаюсь создать Excel файл и записать в него ячейки но при компиляции программы получаю совершенно не понятную мне ошибку int i; ...

Ошибка EconvertError при сборке Release - C++ Builder
В режиме Debug все работает без ошибок. Поставил Release. И выходит такая ошибка при компиляции:&quot;EconvertError with message 0.0.0 0:0:0,0...

Странная ошибка при работе с рекурентной формулой - C++ Builder
Пожалуйста внимательно осмотрите этот код и посмотрите на странные ответы на картинке, и исправьте мои переменные, а то я думаю все дело в...

Странная ошибка при создании vector<class> name - C++ Builder
Всем доброго времени суток! Потребовалось создать динамический массив из объектов определенного класса, из которого можно удалять и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.09.2011, 18:09 #2
Если они дефайном определены, то в начале помести его в стек, потом undef, в конце вытолкни из стека. Не очень удобно, но я именно так делал, когда рефакторить нельзя было.

Добавлено через 37 секунд
push_macro, pop_macro в смысле.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.09.2011, 19:25  [ТС] #3
Deviaphan, спасибо конечно. но я просто закомментил этот макрос в process.h, а после сборки раскомментил.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
29.09.2011, 07:51 #4
А, ну так вообще супер. Мне просто оба необходимо было использовать в разных модулях. На совсем убить не мог.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2011, 07:51
Привет! Вот еще темы с ответами:

Странная ошибка - C++ Builder
После создание очередной формы, которая представляет собой диалоговое окно (вводим время, через которое компьютер автоматически...

Странная ошибка - C++ Builder
мне нужно чтобы сначала программа открыла файл(который 100% существует),потом закрыла,после чего начала поиск нужного мне процесса вот код:...

Странная ошибка с косинусом - C++ Builder
Здравствуйте , столкнулся с таким делом : искал ошибку в коде и неожиданно узнал ,что cos(90) = 6.1230 ,причем во все вычислениях он...

Странная ошибка при сборке - Программирование iOS
Здравствуйте, ситуация такая. Скопировал проект на другой компьютер и на другой Apple developer account. Все настроил как обычно. Но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.09.2011, 07:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru