我想开始从事在线Stanford CS107编程范例 class 的RSS搜索程序的第4方面的工作。但是,我在第一步上就落后了。我无法编译准备好的,尚未完成的程序。

输入make时出现此错误;

gcc rss-news-search.o -g -Wall -std=gnu99 -Wno-unused-function -g  -lnsl -lrssnews -L/media/D/Programming/assn-4-rss-news-search-lib/ -o rss-news-search
/usr/bin/ld: cannot find -lrssnews
collect2: error: ld returned 1 exit status
Makefile:32: recipe for target 'rss-news-search' failed
make: *** [rss-news-search] Error 1

我已经安装了libexpat-dev。
这是 class 的链接,其第四编程任务,RSS;
https://see.stanford.edu/Course/CS107

提前致谢

最佳答案

该项目附带librssnews.a是个好消息。该文件是一个名为rssnews的静态库,这是成功编译项目所需要的!
警告:您几乎可以肯定不需要执行这些步骤,请继续阅读以了解原因。

  • 如果项目包含一个文件(如果没有,则不要创建一个文件),将此文件放在项目的目录(从中运行构建文件的目录)或lib目录中。
    再次运行构建。如果失败并出现相同的错误,请继续执行下一步。
  • 通过使用-v标志编译一个简单的代码,找出编译器通常在哪里寻找库。例如,gcc simple.c -v。您将获得大量输出,其中将包含编译器用来链接程序的路径。
    将库文件复制到以下路径之一,然后再次运行构建。

  • 假定已明确指定了库搜索路径,则只需将库放入/media/D/Programming/assn-4-rss-news-search-lib/中,而完全跳过前面讨论的步骤。但是,如果不是这样,您可能必须遵循它们。

    10-06 06:57