Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Nia, Вы писали:
А>Ni a>Проблема в следующем.
Nia>>Используем GCC 3.3.6. + стандартный makе.
Nia>>Однако на данный момент продукт разросся настолько, что размер executable (в debug режиме) превышает 2 гб и ld просто отказывается линковать (линковка статическая).
Nia>>Пожалуйста, если кто сталкивался с такой проблемой, расскажите как
Nia>>вы ее решили.
Nia>>Спасибо
А>Чтобы сделать исполняемый файл больше 2ГБ надо иметь талант!
А>Вы наверное STL используете?
А>Ну, один путь Вам сказали — дебажную версию только той библиотеки, которую в данный момент отлаживаете.
А>А еще можно сделать так:
А>/********************************************/
А>// файл одна_из_подсистем.cpp
А>/********************************************/
А># include <file1.cpp>
А># include <file2.cpp>
А># include <file3.cpp>
А># include <file4.cpp>
А># include <file5.cpp>
А>Обьем и время компиляции упадет в 5 раз. Засчет чего? За счет шаблонов и заголовочный файлов.
А>А вообще-то надо руки выпрямлять.
Это-ж надо — 2 гигабайта!!!
Спасибо, обЪем 2 гб получается за счет OA (open access), которая спроектирована по принципу "используй этот header и получишь что тебе надо"
Спасибо за предоствленные варианты К сожалению пока ни одно решение не заработало.
Может попробовтаь линковать бинарник не из библиотек подсистемы, а сразу из object файлов, из которых состоят эти библиотеки?
Есть ли разница между этими методами линка?