使用QtCreator构建纯C ++

时间:2013-11-03 11:07:44

标签: c++ qt qt-creator qml qt5

目前我在Ubuntu Linux下使用基于Qt 5.1.1的QtCreator 2.8.1。我做了两个,Qt开发和编写纯C ++项目。因为我不想为后者安装像Eclipse这样的第二个重量级IDE,所以我想使用QtCreator。

到目前为止,我点击File->New->C/C++ Project (without Qt)->C++-Project创建了一个新的C ++项目(没有Qt)。所以现在编码工作正常。但是在我的第一次构建中,我发现了main.cpp的一个巨大问题

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main() {
    ifstream infile("file1.in");
    string line;

    while(infile >> line) {
        cout << line << endl;
    }

    cout << "hello world" << endl;

return 0;
}

当我在QtCreator中运行它时,我在控制台上只看到“hello world”,但仅此而已(file1.in包含超过20行原始文本)。现在奇怪的是。用一点g++ main.cpp编译后,我看到了所有20行文字和“你好世界”。

有没有人知道为什么会这样?我想我必须在QtCreator中更改编译器,但这次尝试没有成功。

1 个答案:

答案 0 :(得分:0)

QtCreator默认使用shadow build,这意味着你的可执行文件将构建在单独的文件夹中。在您的代码中,您使用文件的相对路径:

ifstream infile("file1.in");

只需更改完整路径或确保您的file1.in存在于项目的shadow build文件夹中。

ifstream infile("C:\\file1.in");