组合包含了g++4.8.1的mingw, Qt Creator可以做为优秀的轻量级IDE了。 而且, 还可以使用Qt,能量无限。 Qt本身在C++11的尝试上也走在了前列。
依赖软件包:
MinGW比较难找,试了好几个发布包,这个最好。最新的gcc,完整的lib, 还带着gdb,而且,还有64位可以选择。
设置
1. CMake
2. 添加MinGW编译器, 以64位为例,注意ABI设置
3.添加一个Kit (编译的工具链?),可以选择gdb,我没有添加Qt。 这里也可以创建msvc的编译链
使用
创建一个新项目,Non-Qt Project --> Plain C++ Project(CMake Build).
项目使用cmake的CMakelists.txt, 让cmake生成目标编译器的makefile,进行编译.
默认g++没有打开c++11和debug的支持, 所以添加如下到CMakelists.txt
SET(CMAKE_CXX_FLAGS "-std=c++11 -g")
测试代码
#include <iostream>
#include <vector>
#include <iterator>
template<typename T>
void variableTemplates(const T & last)
{
std::cout << last << std::endl;
}
template<typename T, typename ...Args>
void variableTemplates(const T & firstArg, Args... args)
{
std::cout << firstArg << ' ';
variableTemplates(args...);
}
int main()
{
std::vector<double> floats{1.0, 2.0, 3.0, 4.0};
std::copy(std::begin(floats), std::end(floats), std::ostream_iterator<double>(std::cout, " "));
std::cout << std::endl;
for (auto f : floats)
{
std::cout << f * f << ' ';
}
std::cout << std::endl;
const char * str =
R"(test raw string
with multiline text
and escape characters \t \a \b)";
std::cout << str << std::endl;
variableTemplates<double, double, double>(2.1, 2.3, 2.4);
return 0;
}
输出
Starting P:\temp_project\testMinGW64-build\testMinGW64.exe...
1 2 3 4
1 4 9 16
test raw string
with multiline text
and escape characters \t \a \b
2.1 2.3 2.4
P:\temp_project\testMinGW64-build\testMinGW64.exe exited with code 0
作者:SalmonRun