首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >32位体系结构C程序的编译与链接

问32位体系结构C程序的编译与链接
EN

Stack Overflow用户
提问于 2011-03-02 04:35:32
回答 2查看 871关注 0票数 0

所以我正在为斯坦福大学的CS107课程做一项作业,我无法不编译未完成的程序(项目文件和原始的makefile可以是在课程页面上找到,我正在编写作业4 RSS)。

经过大量的研究,我认为问题在于我在64位架构(MacOS10.6)上使用gcc,而assn-4-rss-news-search-lib/linux下的预编译库代码是32位架构的。我试着让gcc使用i386和-m36,但是什么都没用,我只是在猜测。

这是我运行make时得到的输出

代码语言:javascript
复制
gcc  -g -Wall -std=gnu99 -Wno-unused-function    -c -o rss-news-search.o rss-news-search.c
gcc  rss-news-search.o -g -Wall -std=gnu99 -Wno-unused-function -g  -lnsl -lrssnews -L/Users/derp/Documents/OCW/CS107/Work/programming4/assn-4-rss-news-search-lib/linux -o rss-news-search
ld: library not found for -lnsl
collect2: ld returned 1 exit status
make: *** [rss-news-search] Error 1

这里是我删除-lnsl时得到的输出,其中提到了体系结构的差异:

代码语言:javascript
复制
gcc  -g -Wall -std=gnu99 -Wno-unused-function    -c -o rss-news-search.o rss-news-search.c
gcc  rss-news-search.o -g -Wall -std=gnu99 -Wno-unused-function -g  -lrssnews -L/Users/derp/Documents/OCW/CS107/Work/programming4/assn-4-rss-news-search-lib/linux -o rss-news-search
ld: warning: in /Users/derp/Documents/OCW/CS107/Work/programming4/assn-4-rss-news-search-lib/linux/librssnews.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
Undefined symbols:
    "_URLConnectionDispose", referenced from:
        _ProcessFeed in rss-news-search.o
        _ParseArticle in rss-news-search.o
    ... several more undefined symbols mentioned ...
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [rss-news-search] Error 1

所以我想知道我能做些什么来解决这个问题。我已经做了几个小时,调整设置和谷歌周围,但没有任何效果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-02 05:56:59

  • 我非常肯定,在macos上使用预编译的linux库,无论是什么bitness,都是行不通的(嗯,可能可以在MacOS上为Linux进行交叉编译,也可能在MacOS上的兼容框中运行Linux可执行文件,但这与您所要做的完全不同)。
  • libnsl是Linux上的一个标准库(它提供了一些与网络有关的功能)
票数 0
EN

Stack Overflow用户

发布于 2012-12-08 10:15:08

为了防止像我这样的人在这么长时间后都在寻找答案.通过安装32位Ubuntu的wubi版本,可以很容易地解决问题。它在64位系统上工作得很好。您只需要编辑makefile,以便它知道在哪里查找所提供的库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5163435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档