Windows上的C++轻量级IDE: QtCreator+CMake+MinGW(gcc4.8.1)

来源:互联网 发布:centous6.5 安装java 编辑:程序博客网 时间:2024/06/10 21:01

看到微软发布vs2013 preview版,依然没有完成C++11的全部功能。 gcc和clang早做到了。 一直没有在windows平台上找到合适的IDE可以使用gcc或者clang,所以对C++的实验一直止步于vs的支持状况。


突然看到Qt Creator, 然后就试了以下,果然成功。 组合包含了g++4.8.1的mingw, Qt Creator可以做为优秀的轻量级IDE了。 而且, 还可以使用Qt,能量无限。 Qt本身在C++11的尝试上也走在了前列。


依赖软件包:

MinGW
http://jaist.dl.sourceforge.net/project/mingwbuilds/mingw-builds-install/mingw-builds-install.exe 
或者
http://ncu.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe

Qt Creator 2.7.1
http://download.qt-project.org/official_releases/qtcreator/2.7/2.7.1/qt-creator-windows-opensource-2.7.1.exe 
CMake
http://www.cmake.org/files/v2.8/cmake-2.8.11.1-win32-x86.zip 

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


原创粉丝点击