2

所以我一直在研究大学实验室计算机上的一个项目,我希望能够在家里用我的笔记本电脑处理它。我的笔记本电脑运行 ubuntu 11.10。

我用了

sudo apt-get install gnome-core-devel build-essential libgtk2.0-dev libgtk2.0-doc devhelp

这一切都完成了。

然而,当我尝试编译我的程序时,它给了我一堆

对 [所有 gtk 函数] 的未定义引用

这里发生了什么?我究竟做错了什么?程序在实验室计算机上编译良好。生成文件在这里http://pastebin.com/H7Pi55NQ

4

1 回答 1

2

库参数现在应该出现在您要链接的文件之后,否则它们将被忽略:

    $(CC) -o mainout main.o draw.o floyds.o simpletools.o graph.o tads.o bucket.o $(LIBS)

原因:U11.10新版GCC默认通过--as-needed了链接器的开关。这意味着如果在命令行中它之前的任何东西都不需要该库,则它会被忽略。如果您使用--no-as-needed链接器开关,您可以更改此行为。

于 2012-01-30T08:14:32.623 回答