2010-10-11 79 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