c++ - 使用 Qt Creator 构建 Stanford CS106B 项目的问题

标签 c++ windows qt qt-creator

我正在尝试使用他们的免费在线资源学习斯坦福 CS106B 类(class)(我不是斯坦福学生)。由于他们现在需要登录 ID 才能访问当前季度主页上的许多页面,因此我使用的是 2015 年第一季度的存档页面,位于此处:

http://stanford.edu/class/archive/cs/cs106b/cs106b.1154/

我看到其他人在构建作业项目时遇到了一些类似的问题,但他们都在使用其他 IDE 和/或操作系统,并且他们都收到了不同的错误消息。

我首先尝试了 Qt Creator 5.5,但当出现错误时,我将其卸载并安装了 Qt Creator 5.4.1。这是存档的旧页面上推荐的版本,所以我认为同一页面上的作业与此版本兼容。我已经在一台运行 Windows 8.1 的机器和另一台运行 Windows Vista 的机器上试过了。无论我使用哪个版本的 Qt Creator 或 Windows,每次我尝试构建 Stanford 的作业或示例项目时,我都会在 Qt Creator 的“问题”窗口中收到以下消息:

    cannot find -liberty

    error: Id returned 1 exit status
    collect2.exe

“编译输出”窗口显示以下错误:

    I:/Program Files/Qt Creator/Tools/mingw492_32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -liberty
    collect2.exe: error: ld returned 1 exit status
    Makefile.Debug:247: recipe for target 'debug\simple-project.exe' failed
    mingw32-make[1]: *** [debug\simple-project.exe] Error 1
    mingw32-make[1]: Leaving directory 'I:/Moved from Drive 1/Documents/QT Creator projects/build-simple-project-Desktop_Qt_5_5_0_MinGW_32bit-Debug'
    makefile:34: recipe for target 'debug' failed
    mingw32-make: *** [debug] Error 2
    09:42:28: The process "I:\Program Files\Qt Creator\Tools\mingw492_32\bin\mingw32-make.exe" exited with code 2.
    Error while building/deploying project simple-project (kit: Desktop Qt 5.5.0 MinGW 32bit)
    When executing step "Make"

我还应该注意,我下载了 Qt Creator 中提供的示例项目,我能够构建并运行这个项目。只有斯坦福项目给我错误。

我是 C++ 和 Qt Creator 的新手,所以可能有一些简单的事情我没能做到。如果有任何帮助,我将不胜感激。

最佳答案

修改 .pro 文件,使其不再尝试链接“liberty”库。

在第 107 行的 simple-project.pro 文件中,有一个对“liberty”库的引用。我将其注释掉并编译了示例简单项目。

LIBS += -lDbghelp
LIBS += -lbfd
LIBS += -liberty <-place "#" in front of this line
LIBS += -limagehlp

关于c++ - 使用 Qt Creator 构建 Stanford CS106B 项目的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31628077/

相关文章:

c++ - 为什么 QTabBar 的 tabBarDoubleClicked(int) 不能处理双击标签栏?

c++ - C++ 中的 char[] 和字符串有什么区别?

c++ - 将错误与自己的类函数联系起来

c++ - Qt 的持续构建系统

c++ - 结构指针的优先级队列

qt - 有选择地将 C++ 核心逻辑公开给 QML 的最佳方法

windows - cmd 不显示某些文件

c# - 在 C# 中为 Print Spooler API 设置标志?

windows - Pcap 和 WinPcap 有多相似?

c++ - VS2013 中的静态 Qt 程序构建 - 许多 Unresolved external 问题