我有一些静态库。例如libpuchuu.a 它取决于动态库。例如libSDL.so (五言,但我有libSDL.a) 创作libpuchuu.a的很简单:g ++静态库依赖于动态库
ar -rcs object_file_1.o object_file_2.o
但我不能libpuchuu.a链接到我的项目! 未定义的引用攻击我的控制台!
在一些论坛上,我已经发现了这样一句话: 静态库的所有依赖关系是在该库 如果你的目标文件依赖于雅,你必须解压(AR)雅对象文件 到您的文件夹,然后收拾所有对象你的新图书馆。问题:
- 它是真的吗?
- 如果它是真的: 对象文件puchuu.o取决于libSDL.a 如何使libpuchuu.a?
- 另一种解决方案?
PS
我做了一个简单的例子,并张贴到引擎收录:
http://paste.lisp.org/display/115456
建筑命令:
g++ -O3 -c index.cpp -I/usr/local/include/SDL
g++ -O3 -c lib.cpp -I/usr/local/include/SDL
ar rv libpuchuu.a lib.o
g++ -O3 -o program.exe index.o -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows -lSDL_image -L. -lpuchuu
...从指数 未定义的引用的.cpp!
您应该详细说明未定义的引用出现的位置。这可能会导致共享对象丢失。 – 2010-10-12 20:23:24
你能否把它作为文字而不是图像? – Omnifarious 2010-10-12 20:25:34
哦,男人,有关于sdldraw的俄罗斯警告! (这应该是坏的!):) – 2010-10-12 20:29:55