我有一些靜態庫。例如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