![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Superklug |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Доброго времени суток!
Может кто-нибудь пользовался этой библиотекой? Добавил в проект файл test.cpp. Создал конфигурацию UnitTest (в этой конфигурации собирается exe, а в Debug и Release статическая библиотека). В Post build event добавил:
Большинство тестов работают нормально. А вот тесты в которых используются файловые потоки заваливаются... Например такой тест:
После сборки в логе примерно такие сообщения:
Помогите, пожалуйста, разобраться в чем дело... Это сообщение отредактировал(а) Superklug - 10.8.2010, 13:35 |
||||||
|
|||||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
Superklug, у вас валится new - генерит std::bad_alloc из-за того, что у Microsoft размер массива не должен превышать 0x7fffffff байтов (в стандарт по этому поводу глянить не успел и о других компилерах ничего сказать не могу, под рукой нет).
P.S. код ошибки от мелкомягких - C2148 Это сообщение отредактировал(а) SenkraD - 10.8.2010, 13:49 |
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Размер файла около 200 байт...
Да и потом, если бы было исключение boost его отловил бы. Если написать что-нибудь вроде:
то все работает как надо. А когда делаю это с помощью буста и через Post Build Event, почему-то не работает... |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
ну там не исключение, а что-то типа assert, который CRT делает.
Не спорю, скорее фолит какой-то с tellg из-за чего вы и страдаете. Поставьте свои асерты аля assert(size_1 < 0x7fffffff); и assert(size_2 < 0x7fffffff); или зайдите под дебагом в тесты Это сообщение отредактировал(а) SenkraD - 10.8.2010, 14:07 |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
4294967295 это (-1)
сильно похоже на то, что просто файлы не найдены для проверки гипотезы можно прописать абсолютные пути и посмотреть, что будет а если проблема в этом - разбираться, с какой текущей директорией запускаются тесты -------------------- qqq |
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
maxim1000, спасибо! Проблема действительно в этом...
Помогите пожалуйста настроить проект, чтобы все работало корректно.. Не хочется оставлять абсолютные пути) Сейчас такие настройки: General Output Directory: $(SolutionDir)$(ProjectName)\$(ConfigurationName) Intermediate Directory: $(ConfigurationName) Linker Output File: $(OutDir)\$(ProjectName)_test.exe Build Events / Post Build Event Command: "$(TargetPath)" --result_code=no --report_level=short Если с настройками все в порядке, подскажите относительно чего нужно задавать пути? Нужный мне файл лежит в $(TargetDir) Это сообщение отредактировал(а) Superklug - 11.8.2010, 08:00 |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
если я не ошибаюсь, текущая директория во время билда - директория проекта
но это можно и выяснить экспериментально - просто вывести текущую директорию в post-build event (что-то типа echo %CD%) -------------------- qqq |
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
||||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
У меня опять проблема(
Для тестирования другого проекта (dll Библиотека) решил сделать отдельный проект. При попытке вызова какой-либо функции из dll возникает ошибка. Вызываю так:
Если написать свой int main() (без буста), то все вызовы работают нормально.. В чем может быть проблема? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |