啓動我的應用程序時,我有一個問題,一個給定的符號:如何提供使用鏘和MacOSX的
dyld: Symbol not found: __ZN5mongo2LTE
Referenced from: /usr/local/lib/libcrails-mongodb.dylib
Expected in: flat namespace
in /usr/local/lib/libcrails-mongodb.dylib
如果我要尋找的符號使用納米__ZN5mongo2LTE
,我覺得這些比賽:
$: nm -A /usr/local/lib/libcrails-mongodb.dylib | grep __ZN5mongo2LTE
/usr/local/lib/libcrails-mongodb.dylib: U __ZN5mongo2LTE
如果我的理解是正確的,這意味着符號被引用,但沒有解決。
現在,如果我看着也與我的這個項目的其他庫:
$: nm -A /usr/lib/libmongoclient.a | grep __ZN5mongo2LTE
/usr/lib/libmongoclient.a:jsobj.o: 00000000000eca00 S __ZN5mongo2LTE
再次,在我的理解,這意味着在給定的地址本相同的庫符號存在。
我錯了嗎?如果不是,那麼爲什麼符號「未找到」?
爲什麼要鏈接同一個庫的靜態和動態版本? – trojanfoe 2014-10-28 11:51:03