【发布时间】:2014-10-19 07:57:07
【问题描述】:
我正在从事一个涉及protobuf 和zmq 的项目。我已经在VS2010上完成了,现在想让它在Linux下工作。我刚刚在我们的 Linux 服务器上安装了protobuf 和zmq,Makefile 看起来像这样:
g++ -c -D_DEBUG TestTDFAPI_v2.cpp -I ../
g++ -c -D_DEBUG Platform.cpp
g++ -c -D_DEBUG PathHelper.cpp
g++ -c -D_DEBUG MyStruct.pb.cpp
g++ -c -D_DEBUG MyStruct.cpp
g++ -o Test_TDFAPI_v2 Platform.o PathHelper.o MyStruct.pb.o MyStruct.o TestTDFAPI_v2.o -l /usr/local/include -L /usr/local/lib -L../ -L../linux/ -lTDFAPI_v2 -lWHNetWork -lpthread -lprotobuf
make后出现如下错误:
/usr/bin/ld: cannot find -l/usr/local/include
collect2: ld returned 1 exit status
有人知道吗?
【问题讨论】:
-
使用
-I而不是-l。后者表示要链接的库,而不是包含路径。 -
顺便说一句,您的
Makefile看起来非常糟糕。见this example。你想用g++ -Wall -g编译。 -
啊,难怪。谢谢!
-
@BasileStarynkevitch 这不是我写的……我正在使用其他人的 API,这是他们的一个 Makefile……
-
如果他们的
Makefile这么差,你还是应该改进一下。
标签: c++ linux g++ protocol-buffers zeromq