【发布时间】:2011-04-24 01:01:57
【问题描述】:
让我们制作最简单的应用程序:
结果:
好的。有用。 让我们在这里添加一些带有默认动态链接的 SDL!
结果:
效果很好。在 stdout.txt 我们可以看到“puchuu”
让我们稍微改变一下我们的makefile。 只需将 2 个目标文件分组到静态库:
结果:
谁是罪魁祸首? 我还是 mingw 开发人员? 是否清楚地发送到它的错误跟踪器?
【问题讨论】:
让我们制作最简单的应用程序:
结果:
好的。有用。 让我们在这里添加一些带有默认动态链接的 SDL!
结果:
效果很好。在 stdout.txt 我们可以看到“puchuu”
让我们稍微改变一下我们的makefile。 只需将 2 个目标文件分组到静态库:
结果:
谁是罪魁祸首? 我还是 mingw 开发人员? 是否清楚地发送到它的错误跟踪器?
【问题讨论】:
mingw 不是罪魁祸首。使用 (GNU) 链接器,静态库必须以反向依赖顺序列出。
如果 libpuchuu.a 中的某些内容依赖于 libSDL 中的某些内容,g++ -o program.exe libpuchuu.a -lSDL 将不起作用。
应该是g++ -o program.exe -lSDL libpuchuu.a
如果你有一个循环依赖,你甚至需要列出两次。考虑例如libfoo.a 依赖于 libbar.a 中的内容,而 libbar.a 依赖于 libfoo.a 中的某些内容。你必须这样做:g++ -o fooprogram libbar.a libfoo.a libbar.a
【讨论】: