不幸的是,是的。
我编译了我的共享库,链接器不会抱怨找不到它,但仍然会得到未定义的引用错误。考虑到我可能做错了什么,我做了一些研究,发现了这个简单的简单演练:
http://www.adp-gmbh.ch/cpp/gcc/create_lib.html
我跟着这封信,但我仍然得到了:
$ gcc -Wall main.c -o dynamically_linked -L.\ -lmean
/tmp/ccZjkkkl.o: In function `main':
main.c:(.text+0x42): undefined reference to `mean'
collect2: ld returned 1 exit status
这是非常简单的东西,所以出了什么问题?!我的设置中是否有可能需要检查/推文的内容?
GCC 4.3.2 Fedora 10 64位
答案 0 :(得分:3)
变化:
$ gcc -Wall main.c -o dynamically_linked -L.\ -lmean
为:
$ gcc -Wall main.c -o dynamically_linked -L. -lmean
您可能打算这样做:
$ gcc -Wall main.c -o dynamically_linked -L./ -lmean
没关系,但尾随/
是多余的
答案 1 :(得分:0)
图书馆是如何创建的? libtool的?
向我们展示当前目录的ls -l,并查看gcc -v <rest of your command>
所说的内容(详细说明了gcc正在做什么)。