Apakah dbus.h "umum " header d-bus sistem linux?

pemrograman


TAMBAHAN
Apakah saya berada di jalur yang benar?

“tambahkan ini ke” terapkan “dbus di salinan Linux saya ???”

nov25-1@nov251-desktop:~$ g++ -Dinding –std=c++11 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include main .cpp -ldbus-1

tidak yakin apa fungsinya

termasuk main.cpp -ldbus-1

apakah saya harus “menambahkan aplikasi saya?? bagian apa??”

Saya menyertakan “aplikasi” kloning (sumber terbuka) dalam program saya.
Melakukannya dengan baik secara bertahap menambahkan header “sertakan” yang diperlukan…

sampai saya menjalankannya yang ini

#termasuk
(ini harus dibaca ” sertakan garis miring terbalik dbus garis miring terbalik dbus titik huruf h…,”)

tidak ada referensi yang terlihat, oke saya mungkin melewatkannya, apa yang dilakukan dbus.h (di sumber daya github) …dan DI MANA ia tinggal…

Jika itu memang sumber daya “sistem Linux”.

bagaimana cara menghubungkannya?

Apa yang saya coba:

tanya Nyonya Goggle dan menemukan beberapa “bagaimana caranya..” tetapi tidak ada penjelasan apa yang dilakukan “dbus.h” di Linux.

Solusi 1

Solusi 2

Sudahkah Anda menginstal libdbus-1-dev? Header disertakan dalam paket itu, bersama dengan semua yang Anda perlukan untuk pemrograman terhadap perpustakaan. Anda mungkin juga ingin memeriksanya libdbus-cpp-devyang tampaknya menawarkan pembungkus CPP ke perpustakaan dbus.

Menyalin header ke ruang kerja Anda tidak disarankan. #include file sering merujuk ke #include lain, dan Anda mungkin harus menyalin sebagian besar /usr/include ke direktori proyek Anda hanya untuk mengkompilasi sesuatu.

Anda perlu melihat dokumentasi IDE Anda. Ini akan memberi tahu Anda cara menambahkan hal yang benar ke file proyek sehingga proyek dapat menemukan headernya.

Jika Anda mengkompilasi dengan tangan, Anda harus tahu tentang pkg-config. misalnya

k5054@localhost$ pkg-config --list-all | grep dbus
dbus-1                         dbus - Free desktop message bus
k5054@localhost$ pkg-config --cflags --libs dbus-1
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -ldbus-1

Kita dapat menggunakannya untuk mengkompilasi dari baris perintah:
g++ $(pkg-config --cflags --libs) program.cpp -o program

Jika Anda menggunakan Makefiles, Anda dapat menggunakan sesuatu seperti

CXXFLAGS = -Wall -Wextra $(shell pkg-config --cflags dbus-1)
LDFLAGS = -lfoo -lbar $(shell pkg-config --libs dbus-1)
 ...

Karena Anda tampak sedikit tidak yakin, pengingat:

-I adds a path to the compiler's search path for include files
-L adds a path to the linker's search path for libraries (.so and .a) 
-l adds a library name to the linker's list of objects to include when trying to resolve external object names.

Tambahan: Anda dapat menemukan file paket apa yang dimiliki menggunakan file apt. Melihat Bantuan dan Contoh Perintah File Apt Linux[^] Setelah Anda menginstal dan menjalankannya apt-file update Anda dapat menanyakan database apt-file untuk paket yang menyertakan file dengan nama tertentu:

$ apt-file search dbus/dbus.h
libdbus-1-dev: /usr/include/dbus-1.0/dbus/dbus.h
libdbus-cpp-dev: /usr/include/core/dbus/dbus.h 

Hal ini menunjukkan bahwa file penyertaan dbus/dbus.h bukan bagian dari file penyertaan “umum”, namun tersedia sebagai bagian dari paket libdbus-1-dev.

コメント

タイトルとURLをコピーしました