第一次 Linux 环境下的程序编译与链接记录

因为现在的项目转移到了 Linux 平台下,并且 IPC 通信使用了 DBus,第一次在 Linux 下进行编程,编译和链接 DBus 的程序。果然几乎是每一步很困难,所有东西都需要查资料。习惯了 IDE 下的工作,转到 Command line 就像个废人一样。

程序本身已经在上篇文章帖出来了(My_Client.cpp, My_Server.cpp),这没有什么,和 Windows 上一样。

编译需要用的 makefile ,边查边写,写了个最简单的:

  1. Server: DBusServerTest.o
  2. gcc DBusServerTest.o -o Server -ldbus-1 -lstdc++
  3. DBusServerTest.o: DBusServerTest.cpp
  4. gcc -c DBusServerTest.cpp -g -o DBusServerTest.o -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
  5. clean:
  6. 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

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午3:23
下一篇 2023年2月9日 下午3:23

相关推荐