我創建了一個庫,利用winsocks的,我用下面的命令編譯:庫使用winsocks:解析外部符號
cl /c myLib.c /link ws2_32.lib
lib myLib.obj
從而獲得MYLIB.LIB,一切正常。現在
,我寫了一個測試程序,test.c的在我做的:
#include "myLib.h"
//... i use some functions //
我編譯它與
cl test.c /link myLib.lib
,但我得到:
MYLIB。 lib(myLib.obj):error LNK2001:無法解析的外部符號_ imp _connec t @ 12 MYLIB.LIB(myLib.obj):錯誤LNK 2001:解析外部符號_ imp的 _htons @ MYLIB.LIB(myLib.obj):錯誤LNK 2001:解析外部符號_ imp的 _inet_a DDR @ 4 MYLIB.LIB(myLib.obj):錯誤LNK 2001:解析外部符號_ imp的 _socket @ 12 MYLIB.LIB(myLib.obj):錯誤LNK 2001:解析外部符號_ 小鬼 _WSASta rtup @ 8 MYLIB .lib(myLib.obj):錯誤LNK2001:無法解析的外部符號_ imp _WSACle 阿努普@ 0 logbus.lib(logbus.obj):錯誤LNK 2001:解析外部符號_ 小鬼 _closes OCKET @ 4 TEST.EXE:致命錯誤LNK1120:7周無法解析的外部
編輯: 好的,如果我編譯添加一個鏈接到ws2_32.lib它也可以。 無論如何,我不喜歡它:當我創建我的時候,我已經鏈接了這個庫,所以我只想鏈接到myLib.lib ...它可能嗎?