C++ 如何使用g+链接.o文件+;

C++ 如何使用g+链接.o文件+;,c++,g++,C++,G++,我正在尝试使用g++编译一个.cc文件,我需要它来链接一个.o文件 所以我试着: $g++ -o client -I../ipc -L../messages.o client.cc /usr/bin/ld: error: ../messages.o: can not read directory: Not a directory 我试过: $g++ -o client -I../ipc -l../messages.o client.cc /usr/bin/ld: error: cannot f

我正在尝试使用g++编译一个.cc文件,我需要它来链接一个.o文件

所以我试着:

$g++ -o client -I../ipc -L../messages.o client.cc
/usr/bin/ld: error: ../messages.o: can not read directory: Not a directory
我试过:

$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--r--1 hap497 hap497 227936 2010-02-03 22:32../messages.o

你能告诉我如何链接.o文件吗


谢谢。

这是我应该做的。OP的问题是-L指定了一个搜索库的路径,-L指定了一个在该路径中查找的库。对象文件只需作为参数提供。谢谢。我尝试过“$g++-o client-I../ipc client.cc../messages.o”,但结果是messages.o需要libprotobuf.a库。所以我尝试了'g++-o client-I../ipc client.cc-l/usr/local/lib/libprotobuf.a-lpthread../messages.o;我仍然得到“/usr/bin/ld:../messages.o:在函数ipc::protobuf\u AssignDesc\u messages\u 2eproto():ipc/messages.pb.cc:33:错误:未定义对“google::protobuf::DescriptorPool::generated_pool()”的引用。我很感谢您提供更多的想法。请尝试
-l/usr/local/lib/libprotobuf.a
,而不是
-lprotobuf
/usr/local/lib
可能位于默认路径中;如果没有,请使用
-L/usr/local/lib
添加它。
-l
选项将“lib”添加到前面,将“.a”添加到末尾。本可以在您的答案中使用一些解释,但没关系,@FredLarson做得很完美。
$g++ -o client -I../ipc client.cc ../messages.o