欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

斯坦福CS106B——StanfordCPPLib在Qt Creator上的配置

程序员文章站 2022-07-02 22:55:04
1 引言斯坦福的CS106B课程是非常著名的一门计算机编程入门课程,也是斯坦福校内选修最多的一门课程,湾区的计算机氛围可见一斑。斯坦福大学对于C++语言建立了专属的一套库,以供校内师生使用,CS106B也基于此库。要学CS106B,必先配置StanfordCPPLib。2 搭建步骤2.1 安装Qt笔者之前用的是5.11版本的Qt,在编译斯坦福SPL库的时候显示Qt版本过低,之后重新下载安装了Qt5.12.0完成了编程环境的搭建。2.2 下载CS106B课程提供的模板访问网站CS106B,下载右...

1 引言

斯坦福的CS106B课程是非常著名的一门计算机编程入门课程,也是斯坦福校内选修最多的一门课程,湾区的计算机氛围可见一斑。斯坦福大学对于C++语言建立了专属的一套库,以供校内师生使用,CS106B也基于此库。
要学CS106B,必先配置StanfordCPPLib。

2 搭建步骤

2.1 安装Qt

笔者之前用的是5.11版本的Qt,在编译斯坦福SPL库的时候显示Qt版本过低,之后重新下载安装了Qt5.12.0完成了编程环境的搭建。

2.2 下载CS106B课程提供的模板

访问网站CS106B,下载右侧的Blank Qt Project。
斯坦福CS106B——StanfordCPPLib在Qt Creator上的配置

2.3 编译并实验

(1)Qt打开项目

首次打开会提示编译,按照指示按下configure就可以了。
斯坦福CS106B——StanfordCPPLib在Qt Creator上的配置

(2)构建

写好程序,点击左下角的绿色三角,开始构建。首次构建耗时较长,耐心等待。程序中的“vector.h”就是StanfordCPPLib中的头文件,以此来测试是否可以正常使用StanfordCPPLib。
斯坦福CS106B——StanfordCPPLib在Qt Creator上的配置

 #include <iostream>
 #include "vector.h"
 #include <fstream>
 #include <iostream>

 using namespace std;

 int main()
 {

 // read by word
     ifstream input;
     input.open("D:/2020/DSA/cpp_learning/CS06B/lecture#3/nba.txt");
     if(input.fail()){
         cout << "womp womp"<< endl;
     }else{
         Vector<string> allWords;
         string token;
         int words = 0;
         while( input >> token){
             // if (stringIsInteger( token )){
             //     int n = stringToInteger( token );
             //     cout << "the int token is: "<< n << endl;
             // }
             cout << " here is a word: "<< token << endl;
             words ++;
             allWords.add(token);
         }
         cout << "There were "<< words << " total words." << endl;
         cout << "They are: " << allWords << endl;
     }

     return 0;
 }



(3)完成

从结果可以看到,程序正常运行,环境搭建完成。
斯坦福CS106B——StanfordCPPLib在Qt Creator上的配置

3 总结

笔者刚开始试图用直接编译使用StanfordCPPLib的方法,Qt总是在最后报错。索性再浏览了一遍官网,尝试了Blank Qt Project,竟顺利地成功了,故分享出来以让后来者少走弯路。

本文地址:https://blog.csdn.net/weixin_41698717/article/details/107337616