使用gcc链接到库的问题

时间:2010-08-31 05:04:31

标签: gcc linker sfml

我今天从头开始安装SFML所以我可以开始游戏了。我下载了源代码,运行sudo make install,尝试编译我的一个旧项目,但我无法正确链接。所以我尝试运行一个更简单的项目:教程中的一个示例。我特意尝试编译this one,但是我收到了这些错误:

g++ -o atest test.cpp -lsfml-graphics -lsfml-window -lsfml-system /tmp/ccaa86fR.o: In function `main':
test.cpp:(.text+0x1d2): undefined reference to `gluPerspective'
collect2: ld returned 1 exit status
make: *** [test] Error 1

尝试even simpler project,初始教程中的那个,我不会遇到编译问题。但是,当我尝试运行它时,我收到此错误:

./atest: error while loading shared libraries: libsfml-graphics.so.1.6: cannot open shared object file: No such file or directory

我检查过,文件安装到/ usr / local / lib /这是他们应该知道的地方。我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

-lGLU应该修复第一个错误,对于第二个错误,请确保{ldconfig搜索路径中的/usr/local/lib/(Ubuntu下的/etc/ld.so.conf/etc/ld.so.conf.d/*)并且您运行了ldconfig:sudo ldconfig -v然后再次尝试运行。

另见man ldconfig