Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Novilit-v
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 21
#1

Запуск GTEST'a на Visual Studio - C++

15.12.2013, 16:26. Просмотров 1048. Ответов 2
Метки нет (Все метки)

Здравствуйте. У меня возникли проблемы с запуском Google Test на Visual Studio 2010. Делал всё по инструкции ссылка, однако при сборке решения теста появляется ошибка, сообщающая, что файл библиотеки GoogleTest.lib имеет не поддерживаемый или неизвестный двоичный формат; построение проекта при этом происходит. Позже, при запуске отладки какого-либо теста, возникает та же самая ошибка(на скриншоте). При попытке построения решения - бесконечные ошибки вида

Кликните здесь для просмотра всего текста
1>c:\program files\microsoft visual studio 10.0\vc\include\cmath(40): error C2059: синтаксическая ошибка: ;
1>c:\program files\microsoft visual studio 10.0\vc\include\cmath(40): error C2061: синтаксическая ошибка: идентификатор "ceil"
1>c:\program files\microsoft visual studio 10.0\vc\include\cmath(40): error C2059: синтаксическая ошибка: ;
1>c:\program files\microsoft visual studio 10.0\vc\include\cmath(41): error C2061: синтаксическая ошибка: идентификатор "cos"
1>c:\program files\microsoft visual studio 10.0\vc\include\cmath(41): fatal error C1003: число ошибок превышает 100; остановка компиляции
========== Построение: успешно: 0, с ошибками: 1, без изменений: 2, пропущено: 0 ==========


Почему так происходит? Помогите, пожалуйста, запустить тест.
Поскриптум: были попытки сделать всё по этой инструкции: ссылка после длительных метаний менее опытного в те времена меня упёрлись в ту же самую проблему. Пробовал работать на двух разных машинах, на VS 2010 и на VS 2013, ставить разные версии теста - то же самое. То есть дело в какой-то принципиальной ошибке в моих действиях, а не в программе.
Миниатюры
Запуск GTEST'a на Visual Studio  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 16:26     Запуск GTEST'a на Visual Studio
Посмотрите здесь:

C++ Microsoft Visual Studio
C++ Работа с Visual Studio
Запуск программы с расширением .сpp с помощью Visual studio 2010 C++
C++ Не удается подключить к приложению gtest и свою статическую либу VS 2010
C++ Выбор visual studio
Vista+Visual Studio C++
visual studio compiler C++
C++ Surface + Visual Studio
C++ gtest & _VARIADIC_MAX = 10
C++ Visual Studio C++ и OpenCV
LNK2019 два проекта в одном решении (MSVC gtest) C++
C++ Векторы в Visual Studio C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_lunar_
Graphics API Developer
1226 / 1152 / 78
Регистрация: 03.05.2011
Сообщений: 2,771
15.12.2013, 16:53     Запуск GTEST'a на Visual Studio #2
подключил все заголовочные файлы из ссылки с хабры всё нормально, ругается только на не существующий CSomeRect
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include "gtest.h"
 
using namespace std;
 
class CRectTest : public ::testing::Test
{
 
};
 
TEST_F(CRectTest, CheckPerimeter)
{
    CSomeRect rect;
    rect.x = 5;
    rect.y = 6;
    ASSERT_TRUE(rect.GetPerimeter() == 22);
}
 
int main(int argc, char **argv)
{
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
Novilit-v
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 21
16.12.2013, 16:29  [ТС]     Запуск GTEST'a на Visual Studio #3
Итак, открываю \gtest-1.7.0\msvc, файл gtest-md.sln (ключ у меня /MDd, но с другим файлом и ключом пробовал - то же самое). Запускается Мастер преобразования, далее-далее-готово. Журнал преобразования - все файлы преобразованы. Построение-Построить решение. А, кажется, нашёл что-то, похожее на причину ошибки. Итак, в выводе:
Кликните здесь для просмотра всего текста
1>------ Перестроение всех файлов начато: проект: gtest-md, Конфигурация: Debug Win32 ------
1> gtest-all.cc
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): warning MSB8012: TargetPath(C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest-md.lib) не соответствует значению свойства выходного файла (C:\GTEST\gtest-1.7.0\msvc\gtest-md\Debug\gtestd.lib) для Library. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Lib.OutputFile).
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1153,5): warning MSB8012: TargetName(gtest-md) не соответствует значению свойства выходного файла (gtestd) для Library. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Lib.OutputFile).
1> gtest-md.vcxproj -> C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest-md.lib
2>------ Перестроение всех файлов начато: проект: gtest_main-md, Конфигурация: Debug Win32 ------
2> gtest_main.cc
2>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): warning MSB8012: TargetPath(C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest_main-md.lib) не соответствует значению свойства выходного файла (C:\Users\Михаил\Desktop\gtest-1.7.0\msvc\gtest-md\Debug\gtest_main-mdd.lib) для Library. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Lib.OutputFile).
2>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1153,5): warning MSB8012: TargetName(gtest_main-md) не соответствует значению свойства выходного файла (gtest_main-mdd) для Library. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Lib.OutputFile).
2> gtest_main-md.vcxproj -> C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest_main-md.lib
3>------ Перестроение всех файлов начато: проект: gtest_prod_test-md, Конфигурация: Debug Win32 ------
4>------ Перестроение всех файлов начато: проект: gtest_unittest-md, Конфигурация: Debug Win32 ------
3> production.cc
4> gtest_unittest.cc
3> gtest_prod_test.cc
3> Создание кода...
3>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest_prod_test-md.exe) не соответствует значению свойства выходного файла (C:\GTEST\gtest-1.7.0\msvc\gtest-md\Debug\gtest_prod_test.exe) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).
3>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(gtest_prod_test-md) не соответствует значению свойства выходного файла (gtest_prod_test) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).
3> gtest_prod_test-md.vcxproj -> C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest_prod_test-md.exe
4>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest_unittest-md.exe) не соответствует значению свойства выходного файла (C:\GTEST\gtest-1.7.0\msvc\gtest-md\Debug\gtest_unittest.exe) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).
4>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(gtest_unittest-md) не соответствует значению свойства выходного файла (gtest_unittest) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).
4> gtest_unittest-md.vcxproj -> C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest_unittest-md.exe
========== Перестроение всех: успешно: 4, с ошибками: 0, пропущено: 0 ==========


Настораживат строки
4>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\gtest_unittest-md.exe) не соответствует значению свойства выходного файла (C:\GTEST\gtest-1.7.0\msvc\gtest-md\Debug\gtest_unittest.exe) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).

Позже, когда будет жаловаться на невозможность открыть библиотеку, будет указывать адрес с неправильным слэшем:C:\GTEST\gtest-1.7.0\msvc\gtest-md/Debug\ У вас, скорее всего, этого нет, правда? Подскажите, если не сложно, где можно исправить ссылки.

Добавлено через 23 часа 9 минут
Ссылки вроде исправил, но проблема осталась - файл библиотеки всё равно не читается.
Yandex
Объявления
16.12.2013, 16:29     Запуск GTEST'a на Visual Studio
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru