Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.94/17: Рейтинг темы: голосов - 17, средняя оценка - 4.94
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
1

Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2

03.10.2015, 18:48. Просмотров 3108. Ответов 57

По мотивам этой темы:
Цитата Сообщение от DrOffset
Потом этот же компилятор (хоть mingw, хоть clang) можно и в Qt Creator подключить.
DrOffset, а как?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2015, 18:48
Ответы с готовыми решениями:

Пытаемся подружить clang 3.6 и Code::Blocks 13.12 + MinGW под Windows 7
Скачал clang. Установил в корень диска С. То есть, путь получился такой: До...

Пытаемся прикрутить CMake к QtCreator под OS X
Доброе время суток, навеяло темой о самой лучшей IDE! И так собрался я...

Среда разработки под windows7-x64
посоветуйте пожалуйста нормальную среду разработки под windows7-x64

Выбор SSD под Windows7 x64 Ultimate
Доброго времени суток форумчане. Прошу помочь в выборе SSD под систему. Обьём...

X32-VS-X64-VS-Clang
Добрый день. Форум поддержки RadStudio, утверждает ,что компилятор CLANG в...

57
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:05  [ТС] 41
Цитата Сообщение от DrOffset Посмотреть сообщение
При первом запуске у тебя должно быть также.
DrOffset, вот только что сделал новый проект:
0
Миниатюры
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2  
DrOffset
8152 / 4730 / 1157
Регистрация: 30.01.2014
Сообщений: 7,703
04.10.2015, 15:15 42
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

Цитата Сообщение от gru74ik Посмотреть сообщение
вот только что сделал новый проект
Попробуй генератор убрать (-G "MSYS Makefiles" из параметров). У меня это ни на что не влияет, но по идее генератор он сам подставит. Это как бы лишнее тут.
1
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:17  [ТС] 43
Цитата Сообщение от DrOffset Посмотреть сообщение
Попробуй генератор убрать (-G "MSYS Makefiles" из параметров). У меня это ни на что не влияет, но по идее генератор он сам подставит. Это как бы лишнее тут.
Ура!!!
Заработало!
0
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:22  [ТС] 44
DrOffset, обычный HelloWorld победили:
0
Миниатюры
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2  
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:24  [ТС] 45
DrOffset, а код посложнее почему-то падает:
0
Миниатюры
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2  
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:36  [ТС] 46
DrOffset, ну и где и как C++11 (ну или С++14) включать - тоже непонятно:
0
Миниатюры
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2  
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
04.10.2015, 15:39 47
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

Цитата Сообщение от gru74ik Посмотреть сообщение
DrOffset, ну и где и как C++11 (ну или С++14) включать - тоже непонятно
В параметры CMake:
Код
-DCMAKE_CXX_FLAGS="-std=c++11"
0
DrOffset
8152 / 4730 / 1157
Регистрация: 30.01.2014
Сообщений: 7,703
04.10.2015, 15:46 48
Лучший ответ Сообщение было отмечено gru74ik как решение

Решение

Цитата Сообщение от gru74ik Посмотреть сообщение
ну и где и как C++11 (ну или С++14) включать - тоже непонятно
В CMakeLists добавь:
set(CMAKE_VERBOSE_MAKEFILE 1)

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
Должно выводить при сборке следующее:
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2

Заодно проверим правильно ли у тебя все подключилось.
1
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:49  [ТС] 49
DrOffset, gray_fox, работает!

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
 
typedef std::vector<int> Ivec;
typedef std::vector<int>::iterator Iter;
 
void fill_rand(Ivec & arr);
void show(Ivec &arr);
 
int main()
{
    const int ARR_SIZE = 24;
    Ivec myarray(ARR_SIZE);
    fill_rand(myarray);
    show(myarray);
    Iter max_it = std::max_element(myarray.begin(),myarray.end());
    Iter min_it = std::min_element(myarray.begin(),myarray.end());
    std::cout << "Maximal element is " << *max_it << "\n";
    std::cout << "Minimal element is " << *min_it << "\n";
    myarray.erase(max_it);
    myarray.erase(min_it);
    myarray.shrink_to_fit();
    show(myarray);
    return 0;
}
 
void fill_rand(Ivec & arr)
{
    srand(unsigned(time(0)));
 
    for (std::size_t i = 0; i < arr.size(); ++i)
        arr.at(i) = (10 + rand()%90);
}
 
void show(Ivec & arr)
{
    for (auto each_element : arr)
        std::cout << each_element << " ";
    std::cout << "\n";
}
0
Миниатюры
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2  
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:54  [ТС] 50
gray_fox, у меня в итоге в параметрах такая писанина получилась:
-DCMAKE_CXX_FLAGS="-std=c++14" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
0
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
04.10.2015, 15:57 51
gru74ik, лучше добавить сразу в CMakeLists, как писал DrOffset.
1
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 15:59  [ТС] 52
Цитата Сообщение от DrOffset Посмотреть сообщение
Заодно проверим правильно ли у тебя все подключилось.
DrOffset, вот сообщения:
0
Миниатюры
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2  
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 16:07  [ТС] 53
Цитата Сообщение от gray_fox Посмотреть сообщение
gru74ik, лучше добавить сразу в CMakeLists, как писал DrOffset.
gray_fox, так и сделал.

Добавлено через 7 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
В CMakeLists добавь
DrOffset, а можно же немножко расширить список параметров?
set(CMAKE_VERBOSE_MAKEFILE 1)

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++1z" COMPILER_SUPPORTS_CXX1Z)
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX1Z)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1z")
elseif(COMPILER_SUPPORTS_CXX14)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
elseif(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
0
DrOffset
8152 / 4730 / 1157
Регистрация: 30.01.2014
Сообщений: 7,703
04.10.2015, 16:09 54
Цитата Сообщение от gru74ik Посмотреть сообщение
а можно же немножко расширить список параметров?
Конечно.
1
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 16:12  [ТС] 55
DrOffset, получается!
Благодарю, дорогой друг! Без тебя ничего бы не получилось.
0
Миниатюры
Пытаемся прикрутить Clang к QtCreator под Windows7 x64 посредством MSYS2  
DrOffset
8152 / 4730 / 1157
Регистрация: 30.01.2014
Сообщений: 7,703
04.10.2015, 16:14 56
Цитата Сообщение от gru74ik Посмотреть сообщение
Благодарю, дорогой друг!
Не за что
verbose,
set(CMAKE_VERBOSE_MAKEFILE 1)
кстати, можешь убрать. Я его для теста только вписал.
1
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
04.10.2015, 16:17 57
Цитата Сообщение от gru74ik Посмотреть сообщение
DrOffset, а можно же немножко расширить список параметров?
А смысл? Если ваш проект собирается с с++11, то -std=c++11 достаточно; если же нужен например с++14, то тогда не нужно вообще давать возможность собирать с -std=с++11.
1
sourcerer
Модератор
Эксперт CЭксперт С++
4863 / 2044 / 325
Регистрация: 20.02.2013
Сообщений: 5,545
Записей в блоге: 24
Завершенные тесты: 1
04.10.2015, 16:19  [ТС] 58
Цитата Сообщение от gray_fox Посмотреть сообщение
А смысл? Если ваш проект собирается с с++11, то -std=c++11 достаточно; если же нужен например с++14, то тогда не нужно вообще давать возможность собирать с -std=с++11.
Ну просто проверка поддержки разных стандартов. А так-то, да.
0
04.10.2015, 16:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2015, 16:19

VirtualBox: можно ли установить гостевую Windows7 под хостовой системой Windows7?
можно ли установить Virtual Box с операционкой Windows 7 в реальную среду...

Windows7 x64 0x0000006b
Здравствуйте! При запуске Windows вылетает BSOD с ошибкой 0x0000006b...

Windows7 x64 Не запускаются программы
Привет всем, искал драйвера для встроенного видео, кучу всего понаскачивал......


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

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

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