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

С++ под Linux

Войти
Регистрация
Восстановить пароль
 
Mult1plexer
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 10
#1

Cmake. ошибки во время сборки - C++ Linux

13.02.2017, 18:27. Просмотров 305. Ответов 10
Метки нет (Все метки)

Здравствуйте. Пытаюсь установить проект. Во время сборки проекта возникают такие ошибки. Как это устранить? Спасибо за ответы.
Миниатюры
Cmake. ошибки во время сборки  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12889 / 7275 / 811
Регистрация: 27.09.2012
Сообщений: 17,974
Записей в блоге: 2
Завершенные тесты: 1
13.02.2017, 22:18     Cmake. ошибки во время сборки #2
Поддержку C++11/14 добавьте.
Mult1plexer
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 10
14.02.2017, 16:49  [ТС]     Cmake. ошибки во время сборки #3
Не работал на Linux ситемах. Не подскажите как добавить эту поддержку?

Добавлено через 13 минут
После включения опции -DCMAKE_CXX_STANDARD=11 останавливатся на следующем месте что тут ему не нравится?

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[ 10%] Building CXX object SfMToyLib/CMakeFiles/SfMToyLibrary.dir/SfMCommon.cpp.o
[ 20%] Building CXX object SfMToyLib/CMakeFiles/SfMToyLibrary.dir/SfM.cpp.o
/opt/SfM-Toy-Library/SfMToyLib/SfM.cpp: In member function ‘void sfmtoylib::SfM::saveCloudAndCamerasToPLY(const string&)’:
/opt/SfM-Toy-Library/SfMToyLib/SfM.cpp:636:18: error: variable ‘std::ofstream ofs’ has initializer but incomplete type
     ofstream ofs(prefix + "_points.ply");
                  ^
/opt/SfM-Toy-Library/SfMToyLib/SfM.cpp:668:19: error: variable ‘std::ofstream ofsc’ has initializer but incomplete type
     ofstream ofsc(prefix + "_cameras.ply");
                   ^
SfMToyLib/CMakeFiles/SfMToyLibrary.dir/build.make:86: ошибка выполнения рецепта для цели «SfMToyLib/CMakeFiles/SfMToyLibrary.dir/SfM.cpp.o»
make[2]: *** [SfMToyLib/CMakeFiles/SfMToyLibrary.dir/SfM.cpp.o] Ошибка 1
CMakeFiles/Makefile2:161: ошибка выполнения рецепта для цели «SfMToyLib/CMakeFiles/SfMToyLibrary.dir/all»
make[1]: *** [SfMToyLib/CMakeFiles/SfMToyLibrary.dir/all] Ошибка 2
Makefile:83: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2
stima
447 / 296 / 20
Регистрация: 22.03.2011
Сообщений: 961
Завершенные тесты: 2
15.02.2017, 17:43     Cmake. ошибки во время сборки #4
Не зависимо от ОС:
C++
1
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
Croessmah
Модератор
Эксперт CЭксперт С++
12889 / 7275 / 811
Регистрация: 27.09.2012
Сообщений: 17,974
Записей в блоге: 2
Завершенные тесты: 1
15.02.2017, 17:46     Cmake. ошибки во время сборки #5
Цитата Сообщение от Mult1plexer Посмотреть сообщение
что тут ему не нравится?
Возможно, не включен <fstream>.
Цитата Сообщение от stima Посмотреть сообщение
Не зависимо от ОС
Зачем "портить" CMAKE_CXX_FLAGS?
stima
447 / 296 / 20
Регистрация: 22.03.2011
Сообщений: 961
Завершенные тесты: 2
15.02.2017, 18:41     Cmake. ошибки во время сборки #6
Цитата Сообщение от Croessmah Посмотреть сообщение
Зачем "портить" CMAKE_CXX_FLAGS?
Что значит порить? Эта переменная специально предусмотренна для кофигурации CXX флагов.
Croessmah
Модератор
Эксперт CЭксперт С++
12889 / 7275 / 811
Регистрация: 27.09.2012
Сообщений: 17,974
Записей в блоге: 2
Завершенные тесты: 1
15.02.2017, 18:53     Cmake. ошибки во время сборки #7
stima, добавление туда флагов может сделать непереносимым файл сборки.
В данном случае, какой-нибудь -std=c++11 ограничивает выбор компрлятора.
Хотя в данном частном случае это не принципиально.
stima
447 / 296 / 20
Регистрация: 22.03.2011
Сообщений: 961
Завершенные тесты: 2
15.02.2017, 19:03     Cmake. ошибки во время сборки #8
Цитата Сообщение от Croessmah Посмотреть сообщение
stima, добавление туда флагов может сделать непереносимым файл сборки.
Может. Но это не отменяет того что эта переменная предназначена для конфигурации флагов компилятора. И если Вы хотите получить crossсomplier решение, то вы должны это учесть, например:
C++
1
2
3
if(MSVC)
elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
endif()
Цитата Сообщение от Croessmah Посмотреть сообщение
В данном случае, какой-нибудь -std=c++11 ограничивает выбор компрлятора.
Сколько компиляторов вы знаете которые не поддерживают данный флаг? Я знаю только один msvc, в котором данный саппорт включен по умолчанию, а "не коректные" флаги он дропает.
Croessmah
Модератор
Эксперт CЭксперт С++
12889 / 7275 / 811
Регистрация: 27.09.2012
Сообщений: 17,974
Записей в блоге: 2
Завершенные тесты: 1
15.02.2017, 21:57     Cmake. ошибки во время сборки #9
stima, выше приведена переменная cmake
предназначенная именно для установки стандарта.

Что касается ключа -std=c++11,
то, например в Intel C++ Compiller
под линуксом ключ будет -std=c++11,
а под Windows /Qstd=c++11.
ct0r
Игогошка!
1762 / 664 / 42
Регистрация: 19.08.2012
Сообщений: 1,261
Завершенные тесты: 1
15.02.2017, 23:27     Cmake. ошибки во время сборки #10
Цитата Сообщение от stima Посмотреть сообщение
Эта переменная специально предусмотренна для кофигурации CXX флагов.
Если использовать cmake версии "говно мамонта", не бояться из-за глобальности прострелить себе две ноги через задницу, а также вырезать участок мозга, который знает про generator expressions и возможное существование зависимых таргетов, то да, все верно, - CMAKE_CXX_FLAGS именно для этого и нужен.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2017, 14:39     Cmake. ошибки во время сборки
Еще ссылки по теме:

Как собрать проект, используя cmake? Bash
Какие есть сборки для установки без компиляции? Gentoo Linux
Debian Linux Скорректировать время
Cmake 5.3.0 и сборка BRL-CAD Linux
Сбивается время Ubuntu Linux

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

Или воспользуйтесь поиском по форуму:
Loafer
8 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 13
Записей в блоге: 5
17.02.2017, 14:39     Cmake. ошибки во время сборки #11
ofstream ofsc(prefix + "_cameras.ply");
А что за переменная prefix?
Yandex
Объявления
17.02.2017, 14:39     Cmake. ошибки во время сборки
Ответ Создать тему
Опции темы

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