因为现在的项目转移到了 Linux 平台下,并且 IPC 通信使用了 DBus,第一次在 Linux 下进行编程,编译和链接 DBus 的程序。果然几乎是每一步很困难,所有东西都需要查资料。习惯了 IDE 下的工作,转到 Command line 就像个废人一样。
程序本身已经在上篇文章帖出来了(My_Client.cpp, My_Server.cpp),这没有什么,和 Windows 上一样。
编译需要用的 makefile ,边查边写,写了个最简单的:
- Server: DBusServerTest.o
- gcc DBusServerTest.o -o Server -ldbus-1 -lstdc++
- DBusServerTest.o: DBusServerTest.cpp
- gcc -c DBusServerTest.cpp -g -o DBusServerTest.o -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
- clean:
- rm -rf *.o Server
DBusServerTest 的生成方法:
gcc 是 GNU 的 C 和 C++ 编译器
- -c 选项跟着需要编译的源代码,如 DBusServerTest.cpp
- -o 选项跟着生成的 o 文件名,如 DBusServerTest.o
- -g 选项表示需要生成 o 文件需要加入调试信息(比如用 gdb 调试时)
- -I 选项跟着头文件的包括路径(比如DBus.h是在 /usr/include/dbus-1.0 中)
- -l 选项表示需要链接的库。
PS: 当出现:__gxx_personality_v0 error 的链接错误时,就需要使用-lstdc++ 库。
原文链接: https://www.cnblogs.com/muxue/archive/2012/12/13/2817173.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/72369
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!