![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Есть класс, юзающийся в кроссплатформенной либе. Нужно решить проблему со сборкой под IDE VISUAL STUDIO 7.1.
Необходимо, чтобы к cpp был прежде всех файлов подключен "stdafx.h", у меня кроссплат. и кросскомпил. реализованна на основе препроцессорных директив. Но тут проблема... директива, нужная для сборки в выше написанной IDE определена в заголовочном файле параметров. Получается такой колапс: cpp:
Говорит в любом случае - unexpected #endif. Что делать ? В принципе я могу отказаться от Precompiled Headers в пользу кроссплатформенности, однако, как отключить их? через #pragma ? Стоит ли это делать ? |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
En_t_end, прекопилирование заголовочных файлов в VC 6.0 отключается в настройках проекта::компилятора. В VC 7.1 думаю тоже самое должно быть. Никогда не видел особой пользы в этой опции...
|
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
ManiaK
Я понимаю... мне надо отключать их при прогонки кода препроцессором, то есть директивой #pragma. Кстати польза может и есть...постоянная сборка windows.h со всеми вытекающими отсюда последствиями, однако у меня другой случай. |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Короче вопрос остается открытым, пока я не вижу рационального выхода из данной ситуации, может кто-то уже занимался сборкой кроссплатформенных исходников, поделитесь опытом, если не влом.
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
En_t_end,
Я не знаю чем именно ты собираешь проект(make или ещё что-то), но почти во всех подобных утилитах есть возможность добавлять дефайны при компиляции. Т.е. я предлагаю не в коде определять компилятор, а во внешнем "скрипте" и добавлять дефайн при с опцией /D компилятора. Я когда собираю под разные платформы/компиляторы этим часто пользуюсь, хотя от прекомпилед хидеров отказался... |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Я уже тоже отказался от Precompiled Headers, но вот думаю рановато. К примеру g++ ИМХО их держит, правда придется делать несколько Precompiled Headers source для каждого компилятора и платформы - пока либа мелкая, мне это не надо, как только разрастется - придется support их обеспечивать.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |