0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 21
1

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. У меня возникли проблемы с запуском 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  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2013, 16:26
Ответы с готовыми решениями:

Запуск примеров DirectX в Visual Studio 2015
Пытаюсь запустить примеры из SDK DirectX. Как я понял все примеры там написаны под VS2010, моя...

Запуск exe файла проекта на пк без visual studio
Кинул другу проект свой он запустил exe файл и в итоге так внятно ничего и не объяснил но у него не...

Запуск программы с расширением .сpp с помощью Visual studio 2010
У меня есть файл с текстом программы с расширением .сpp "С++ Source" открываю с помощью Visual...

Запуск моей программы, написанной в Visual Studio 2015, на другом компьютере
Здравствуйте! Просмотрела все темы с такой же проблемой на этом форуме, решения не нашла. Написала...

2
Эксперт С++
3574 / 2828 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 22
15.12.2013, 16:53 2
Лучший ответ Сообщение было отмечено Novilit-v как решение

Решение

подключил все заголовочные файлы из ссылки с хабры всё нормально, ругается только на не существующий 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();
}
0
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 21
16.12.2013, 16:29  [ТС] 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 минут
Ссылки вроде исправил, но проблема осталась - файл библиотеки всё равно не читается.
0
16.12.2013, 16:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2013, 16:29
Помогаю со студенческими работами здесь

В коде возникли ошибки при переходе с Visual studio 2013 на Visual studio 2017
Добрый день, решил попробовать поменять свою 2013 студию на 2017 и заметил такую проблему, при...

Имеются ли отличия в компиляторах у сред разработки Visual Studio 2006 и Visual Studio 2015 ?
скажите а где найти среду 2006 года? или можно использовать 2015 год?

Ошибка запуск проекта Visual Studio 2012 на Visual Studio 2017
Предупреждение CS0618 'ZipEntry.Extract(string, bool)&quot; является устаревшим: 'Please use method...

Запуск Visual Studio С++
Привет всем. Я тут совсем запутался с этими студиями.Скачал с сайта майкрасофт Microsoft Visual C++...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru