8
kullanarak bir .o dosyasını nasıl bağlayabilirim. ++ dosyasını derlemek için g ++ kullanmaya çalışıyorum ve bir .o dosyasını bağlamak için ona ihtiyacım var. g ++
yüzden çalıştı:$g++ -o client -I../ipc -L../messages.o client.cc
/usr/bin/ld: error: ../messages.o: can not read directory: Not a directory
Ve ben denedim:
$g++ -o client -I../ipc -l../messages.o client.cc
/usr/bin/ld: error: cannot find -l../messages.pb.o
$$ ls -l ../messages.o
-rw-r - 1 hap497 hap497 227936 2010-02-03 22:32 r-- .. /messages.o
Lütfen bir .o dosyasında nasıl bağlantı kuracağınızı söyler misiniz?
Teşekkür ederiz.
Bunu yapmalısınız. OP'nin problemi, -L kütüphaneleri aramak için bir yol belirlemektir ve -l bu yolla bulmak için bir kütüphane belirtir. Bir nesne dosyası sadece bir argüman olarak verilmelidir. –
Teşekkür ederiz. '$ G ++ -o client -I ../ ipc client.cc ../messages.o' denedim ama bu mesajlar libprotobuf.a kütüphanesine ihtiyaç duyuyor. Bu yüzden 'g ++ -o client -I ../ ipc client.cc -l/usr/local/lib/libprotobuf.a -lpthread'i denedim ../messages.o; Ve hala '/ usr/bin/ld: ../messages.o: işlevinde ipc :: protobuf_AssignDesc_messages_2eproto(): ipc/messages.pb.cc: 33: hata:' google :: protobuf 'un tanımlanmamış referansı :: TanımlayıcısıHavuz :: created_pool() ' Daha fazla fikir için minnettarım? – n179911
'-l/usr/local/lib/libprotobuf.a' yerine sadece' -lprotobuf' deneyin. '/ usr/local/lib' muhtemelen varsayılan yolunuzdadır; değilse, '-L/usr/local/lib' ile ekleyin. '-l 'seçeneği' lib 'ön tarafa ve' .a 'sonuna kadar ekler. –