Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ под Linux

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

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

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

Здравствуйте. Пытаюсь установить проект. Во время сборки проекта возникают такие ошибки. Как это устранить? Спасибо за ответы.
0
Миниатюры
Cmake. ошибки во время сборки  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2017, 18:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cmake. ошибки во время сборки (C++ Linux):

Qt Creator+Cmake+SDL 2.0 - C++ Linux
OS: Debian Имеется собранный SDL 2.0 который работает под Windows, можно ли его же использовать в Linux? Если да, то как подключить...

Boost + Cmake + Clion - C++
Помогите мне подключить Boost к Clion на Windows. Перепробовал уже кучу вариантов - ничего не выходит, заголовки только инклудятся, а...

MakeFile configure CMake - C++ Linux
Друзья, прошу вас о помощи. Немогу доделать работу, посмотрите где ошибся. некоторые файлы я немогу написать. MakeFile: compile:...

Организация рабочего процесса и CMake - C++ Linux
Здравствуйте я решил использовать cmake при написании лабораторных работ Подскажите: 1) Yормально будет так организовать директори...

Cmake + файл libxxx.a подключить библиотеку - C++ Linux
Здравствуйте Решил протестировать одну библиотеку (http://www.agner.org/optimize/?e=0), в двух словах там переделанные функции типа...

Как выполнить статическую линковку в cmake? - C++ Linux
Всем привет. Пробую собрать проект с помощью cmake (3.0) на ubuntu. Мне надо, чтобы зависимости были зашиты в исполняемый файл (static...

10
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
13.02.2017, 22:18 #2
Поддержку C++11/14 добавьте.
0
Mult1plexer
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 11
14.02.2017, 16:49  [ТС] #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
0
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
15.02.2017, 17:43 #4
Не зависимо от ОС:
C++
1
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
15.02.2017, 17:46 #5
Цитата Сообщение от Mult1plexer Посмотреть сообщение
что тут ему не нравится?
Возможно, не включен <fstream>.
Цитата Сообщение от stima Посмотреть сообщение
Не зависимо от ОС
Зачем "портить" CMAKE_CXX_FLAGS?
0
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
15.02.2017, 18:41 #6
Цитата Сообщение от Croessmah Посмотреть сообщение
Зачем "портить" CMAKE_CXX_FLAGS?
Что значит порить? Эта переменная специально предусмотренна для кофигурации CXX флагов.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
15.02.2017, 18:53 #7
stima, добавление туда флагов может сделать непереносимым файл сборки.
В данном случае, какой-нибудь -std=c++11 ограничивает выбор компрлятора.
Хотя в данном частном случае это не принципиально.
0
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
15.02.2017, 19:03 #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, в котором данный саппорт включен по умолчанию, а "не коректные" флаги он дропает.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
15.02.2017, 21:57 #9
stima, выше приведена переменная cmake
предназначенная именно для установки стандарта.

Что касается ключа -std=c++11,
то, например в Intel C++ Compiller
под линуксом ключ будет -std=c++11,
а под Windows /Qstd=c++11.
0
ct0r
Игогошка!
1776 / 678 / 42
Регистрация: 19.08.2012
Сообщений: 1,294
Завершенные тесты: 1
15.02.2017, 23:27 #10
Цитата Сообщение от stima Посмотреть сообщение
Эта переменная специально предусмотренна для кофигурации CXX флагов.
Если использовать cmake версии "говно мамонта", не бояться из-за глобальности прострелить себе две ноги через задницу, а также вырезать участок мозга, который знает про generator expressions и возможное существование зависимых таргетов, то да, все верно, - CMAKE_CXX_FLAGS именно для этого и нужен.
0
Loafer
8 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 13
Записей в блоге: 9
17.02.2017, 14:39 #11
ofstream ofsc(prefix + "_cameras.ply");
А что за переменная prefix?
0
17.02.2017, 14:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2017, 14:39
Привет! Вот еще темы с ответами:

Ошибка генерации CodeBlocks проекта CMake`ом - C++
Пожалуйста, подскажите как правильно сгенерировать CodeBlocks проект с CMake`ом. Опишу по шагам что я делал. 1) В одной папке создал...

Cmake проект сборки документации - Кроссплатформенная разработка
Здравствуйте, хочу сделать проект со сборкой документации, что-то типо doxygen target example. В интернете ничего подобного не нашел,...

Ошибки сборки DLL - C++
Хочу написать DLL. Написал данный код, который под linux собирается без проблем. #include &lt;string&gt; #ifdef __WIN32__ #define...

Glew ошибки сборки - OpenGL
код из примера: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;glew.h&gt; #include &lt;glfw3.h&gt; GLFWwindow* window; ...


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

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

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