2011-08-11 111 views
1

我想編譯一個程序,使用第三方庫,Omnet ++在我的情況。顯然,「製造」沒有找到一個圖書館,但它使用的路徑是正確的,因爲你可以看到(在這個意義上,我可以看到OMNET ++源樹下庫)使庫找不到

pv135168:basic Bob$ opp_makemake  
Creating Makefile in /Users/Bob/Code/network_sim/basic... Makefile created, running "make depend" to add dependencies... opp_makedep -Y --objdirtree -I. -f Makefile -P\$O/ -- ./*.cc 

    pv135168:basic Bob$ make 
    g++ -c -g -Wall 
     -fno-stack-protector -m32 -DHAVE_PCAP -DXMLPARSER=libxml 
     -DWITH_PARSIM -DWITH_NETBUILDER -I. 
     -I/Users/Bob/Code/omnetpp-4.1/include -o out/gcc-debug//txc1.o txc1.cc g++ -m32 -Wl,-rpath,/Users/Bob/Code/omnetpp-4.1/lib -Wl,-rpath,. -o out/gcc-debug//basic out/gcc-debug//txc1.o -Wl,-all_load 
     -L"/Users/Bob/Code/omnetpp-4.1/lib/gcc" 
     -L"/Users/Bob/Code/omnetpp-4.1/lib" -u _tkenv_lib -lopptkenvd 
     -loppenvird -lopplayoutd -u _cmdenv_lib -loppcmdenvd -loppenvird 
     -loppsimd -lstdc++ 
    ld: library not found for -lopptkenvd 
    collect2: ld returned 1 exit status make: *** [out/gcc-debug//basic] 
    Error 1 pv135168:basic Bob$ 

回答

1

它看起來在下面的目錄中一個名爲libopptkenvd.dyliblibopptkenvd.a文件:

/Users/Bob/Code/omnetpp-4.1/lib/gcc 
/Users/Bob/Code/omnetpp-4.1/lib 

是在這些目錄中的一個(或在標準目錄,如/usr/lib)這個文件?我在你的輸出中看不到這一點。

+0

nope,我只看到.dylib文件... – Bob

+0

對不起... Windows開發的大腦。是的,dylib(固定)。你可以仔細檢查'ls/Users/Bob/Code/omnetpp-4.1/lib/libopptkenvd.dylib'並確保它真的返回一些東西(並且它不是空的)?鏈接器告訴你它不在那裏。 –

+0

我看到,庫的真實名稱是libopptkenv.dylib而不是libopptkenvd.dylib。奇怪的是,它必須是在makefile中以某種方式生成的錯字。 – Bob