Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поддержка ANSI C++ 
:(
    Опции темы
duzenko
Дата 3.9.2007, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.9.2007

Репутация: нет
Всего: нет



Посоветуйте пожалуйста как можно скомпилировать проект, написанный на ANSI C++?

Я ставлю совместимость "ANSI" (Project options -> C++ compiler -> General Compilation), что требует выключения "Use Precompiled Headers"

После этого получаю
[BCC32 Error] winnt.h(3181): E2451 Undefined symbol '_EDX'

Такая ошибка на любом проекте, даже на пустом консольном
PM MAIL   Вверх
JackYF
Дата 3.9.2007, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(duzenko @  3.9.2007,  07:00 Найти цитируемый пост)
После этого получаю
[BCC32 Error] winnt.h(3181): E2451 Undefined symbol '_EDX'


Увы. Borland C++ Builder 6 не умеет собирать собственные проекты с поддержкой Ansi C++, так как этой самой поддержки у него нет (в библиотеках, поставляемых с ним).

BDS2006 уже умеет.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Vyacheslav
Дата 3.9.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Цитата(JackYF @  3.9.2007,  07:54 Найти цитируемый пост)
Увы. Borland C++ Builder 6 не умеет собирать собственные проекты с поддержкой Ansi C++, так как этой самой поддержки у него нет (в библиотеках, поставляемых с ним).


Это как это? 
И вообще Вам шашечки или ехать ? Если ехать, то просто наьирайте код совместимый с ANSI C++  и компилируйте. У С++ Bulder c учетом его возраста довольно приличная совместимость с ANSI С++ стандартом.

Добавлено через 8 минут и 59 секунд
Кстати о птичках. 
Вл первых, консольные приложения вполне компиляться с этим параметром.
А во-вотрых, с чего Вы взяли, что winnt.h  полностью ANSI C++ совместимое ? smile


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
JackYF
Дата 3.9.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(Vyacheslav @  3.9.2007,  10:34 Найти цитируемый пост)
Вл первых, консольные приложения вполне компиляться с этим параметром.

увы и ах. Я уже давно с Билдером 6 не работаю, но при подключении одной из известных Ansi C++ - библиотек (какой точно, не помню - подключите много - iostream, math, stdlib etc.) при консольном приложение без VCL и всего прочего, выдает несколько варнингов и несколько ошибок в заголовочных файлах своих.

Цитата(Vyacheslav @  3.9.2007,  10:34 Найти цитируемый пост)
А во-вотрых, с чего Вы взяли, что winnt.h  полностью ANSI C++ совместимое ? smile

это да, далеко не факт smile

Добавлено через 1 минуту и 21 секунду
А вот BDS 2006 уже нормально компилит в режиме Ansi, но всё равно выдает пару варнингов.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Vyacheslav
Дата 4.9.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Э ... а  ткните мне в стандарт, где указано что наличие варнингов есть признак несовместимости.
Что касается ошибок, то в это слабо верится. Во всяком случае STLport, поставлемый с С++Builder 6 выглядел всегда предпочтительней, чем  STL Dinkumware поставлемый с VC6


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Lazin
Дата 4.9.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 18
Всего: 154



С BDS2006 STL Dinkumware идет 
PM MAIL Skype GTalk   Вверх
JackYF
Дата 4.9.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(Vyacheslav @  4.9.2007,  10:17 Найти цитируемый пост)
Э ... а  ткните мне в стандарт, где указано что наличие варнингов есть признак несовместимости.

я этого не утверждал. Про варнинги для инфы было. G++ как-то умудряется без них же, верно?

Итак, я всё-таки проверил. Итак, имеем:
1) Borland C++ Builder 6
2) исходник:
Код

#include <iostream>

int main(int argc, char* argv[])
{
        std::cout << "Hello world!";
        return 0;
}
//---------------------------------------------------------------------------


В проекте никаких VCL, CLX, Multi-threaded нет. Только консольность и больше ничего.
Компилим в режиме Borland - собирается, запускается.
Переключаемся на режим Ansi, получаем:

Цитата

[C++ Error] c_locale.h(364): E2187 Unexpected end of file in conditional started on line 363

еще 26 похожих ошибок и сообщение, что "[C++ Error] c_locale.h(388): E2228 Too many error or warning messages"

Увы.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
duzenko
Дата 4.9.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.9.2007

Репутация: нет
Всего: нет



Вы все говорили, что BDS2006 компилирует такое

Но я вот попробовал с C++Builder2007 и - та же проблема

Хоть убей не понимаю, зачем добавлять опцию ANSI C++ и переносить ее из версии в версию, если она не работает?!

И зачем в описании каждой версии писать "Improved ANSI C++ support" ?!!

Это сообщение отредактировал(а) duzenko - 4.9.2007, 16:44
PM MAIL   Вверх
JackYF
Дата 4.9.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 4
Всего: 162



Цитата(duzenko @  4.9.2007,  16:42 Найти цитируемый пост)
Но я вот попробовал с C++Builder2007 и - та же проблема

Хоть убей не понимаю, зачем добавлять опцию ANSI C++ и переносить ее из версии в версию, если она не работает?!

И зачем в описании каждой версии писать "Improved ANSI C++ support" ?!!

я тоже. Ну - их продукт - их политика. Можно спросить, кстати, их техподдержку.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0785 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.