| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > огрехи кроссплатформенной сборки... |
| Автор: En_t_end 23.2.2006, 12:59 | ||
| Есть класс, юзающийся в кроссплатформенной либе. Нужно решить проблему со сборкой под IDE VISUAL STUDIO 7.1. Необходимо, чтобы к cpp был прежде всех файлов подключен "stdafx.h", у меня кроссплат. и кросскомпил. реализованна на основе препроцессорных директив. Но тут проблема... директива, нужная для сборки в выше написанной IDE определена в заголовочном файле параметров. Получается такой колапс: cpp:
Говорит в любом случае - unexpected #endif. Что делать ? В принципе я могу отказаться от Precompiled Headers в пользу кроссплатформенности, однако, как отключить их? через #pragma ? Стоит ли это делать ? |
| Автор: ManiaK 23.2.2006, 13:45 |
| En_t_end, прекопилирование заголовочных файлов в VC 6.0 отключается в настройках проекта::компилятора. В VC 7.1 думаю тоже самое должно быть. Никогда не видел особой пользы в этой опции... |
| Автор: En_t_end 23.2.2006, 13:48 |
| ManiaK Я понимаю... мне надо отключать их при прогонки кода препроцессором, то есть директивой #pragma. Кстати польза может и есть...постоянная сборка windows.h со всеми вытекающими отсюда последствиями, однако у меня другой случай. |
| Автор: En_t_end 23.2.2006, 14:16 |
| Короче вопрос остается открытым, пока я не вижу рационального выхода из данной ситуации, может кто-то уже занимался сборкой кроссплатформенных исходников, поделитесь опытом, если не влом. |
| Автор: Daevaorn 23.2.2006, 14:38 |
| En_t_end, Я не знаю чем именно ты собираешь проект(make или ещё что-то), но почти во всех подобных утилитах есть возможность добавлять дефайны при компиляции. Т.е. я предлагаю не в коде определять компилятор, а во внешнем "скрипте" и добавлять дефайн при с опцией /D компилятора. Я когда собираю под разные платформы/компиляторы этим часто пользуюсь, хотя от прекомпилед хидеров отказался... |
| Автор: En_t_end 24.2.2006, 10:53 |
| Я уже тоже отказался от Precompiled Headers, но вот думаю рановато. К примеру g++ ИМХО их держит, правда придется делать несколько Precompiled Headers source для каждого компилятора и платформы - пока либа мелкая, мне это не надо, как только разрастется - придется support их обеспечивать. |