2010-10-11 89 views
1

可以使simpliest应用:mingw。如何使用静态和动态链接都

alt text

alt text

alt text

alt text

结果: alt text

好的。有用。 让我们在这里添加一些默认动态链接的SDL!

alt text

alt text

alt text

alt text

结果:

alt text 的伟大工程。在stdout.txt中我们可以看到“puchuu”

让我们稍微改变一下makefile。 只是第2组的目标文件的静态库:

alt text

结果:

alt text

是谁的错? 我还是mingw开发者? 明确发送给它的错误跟踪器?

回答

3

mingw不是怪。使用(GNU)链接器时,静态库必须以反向依赖顺序列出。

g++ -o program.exe libpuchuu.a -lSDL如果libpuchuu.a中的某些内容取决于libSDL中的内容,将不起作用。

应该g++ -o program.exe -lSDL libpuchuu.a

如果你有一个循环依赖,你甚至有列出它们的两倍。考虑例如libfoo.a取决于libbar.a中的内容,而libbar.a取决于libfoo.a中的内容。您必须这样做:g++ -o fooprogram libbar.a libfoo.a libbar.a

+0

ctrl + c ctrl + v您的帖子到笔记本... – puchu 2010-10-11 22:20:26