第一次 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.  
  4. DBusServerTest.o: DBusServerTest.cpp
  5.     gcc -c DBusServerTest.cpp -g -o DBusServerTest.o -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
  6.  
  7. clean:
  8.     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++ 库。

posted on 2012-12-13 22:17  唐风思琪  阅读(1065)  评论(0编辑  收藏  举报

导航