第一次 Linux 環境下的程式編譯與連結記錄

來源:互聯網
上載者:User

因為現在的項目轉移到了 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++ 庫。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.