Pengaturan untuk compiler
Dalam proyek di mana Anda ingin #include file header dari proyek lain , Anda perlu menambahkan jalur dari file header ke dalam bagian Sertakan Direktori Tambahan dalam konfigurasi proyek.
Untuk mengakses konfigurasi proyek:
- Klik kanan pada proyek tersebut, dan pilih Properties.
- Pilih Properti Konfigurasi-> C / C ++ -> Umum.
- Atur jalur di bawah Direktori Sertakan Tambahan.
Bagaimana cara memasukkan
Untuk menyertakan file header , cukup tulis yang berikut di kode Anda:
#include "filename.h"
Perhatikan bahwa Anda tidak perlu menentukan jalur di sini, karena Anda sudah menyertakan direktori di Direktori Sertakan Tambahan, sehingga Visual Studio akan tahu di mana mencarinya.
Jika Anda tidak ingin menambahkan setiap lokasi file header dalam pengaturan proyek, Anda bisa memasukkan direktori sampai titik tertentu, lalu #include relatif ke titik tersebut:
// In project settings
Additional Include Directories ..\..\libroot
// In code
#include "lib1/lib1.h" // path is relative to libroot
#include "lib2/lib2.h" // path is relative to libroot
Pengaturan untuk linker
Jika menggunakan pustaka statis (mis. File .lib), Anda juga perlu menambahkan pustaka ke input linker, sehingga pada saat penautan simbol dapat ditautkan (jika tidak, Anda akan mendapatkan simbol yang belum terselesaikan):
- Klik kanan pada proyek tersebut, dan pilih Properties.
- Pilih Properti Konfigurasi-> Linker-> Input
- Masuk ke perpustakaan di bawah Dependensi Tambahan.
LeopardSkinPillBoxHat
sumber
#include "proj2\include.h"
. Memiliki banyak proyek per solusi tampaknya sangat diarahkan ke bahasa NET, karena mereka digunakan dengan sangat berbeda. Belum menemukan cara terbaik untuk mengatasi ini untuk proyek C ++.#include
tidak ada hubungannya dengan proyek - ini hanya memberi tahu preprocessor "letakkan konten file header di sini". Jika Anda memberikan jalur yang menunjuk ke lokasi yang benar (bisa berupa jalur relatif, seperti ../file_Anda.h) itu akan dimasukkan dengan benar.Anda akan, bagaimanapun, harus belajar tentang perpustakaan (perpustakaan statis / dinamis) untuk membuat proyek tersebut terhubung dengan benar - tapi itu pertanyaan lain.
sumber
Karena kedua proyek berada dalam solusi yang sama, ada cara yang lebih sederhana untuk menyertakan file dan linker seperti yang dijelaskan di https://docs.microsoft.com/en-us/cpp/build/adding-references-in-visual-cpp- proyek? view = vs-2019 :
#include "../libProject/libHeader.h"
).sumber
Anda perlu menyetel jalur ke header di properti proyek sehingga compiler mencarinya saat mencoba mencari file header. Saya tidak dapat mengingat lokasi tepatnya, tetapi lihatlah properti Proyek dan Anda akan melihatnya.
sumber
Cobalah untuk menghindari referensi jalur lengkap dalam perintah #include, baik absolut maupun relatif. Sebagai gantinya, tambahkan lokasi folder include proyek lain di pengaturan proyek Anda. Gunakan hanya subfolder di referensi jalur bila perlu. Dengan begitu, lebih mudah untuk memindahkan berbagai hal tanpa harus memperbarui kode Anda.
sumber
Memperluas jawaban @ Benav, pendekatan yang saya sukai adalah:
$(SolutionDir)
ke Direktori Sertakan TambahanSekarang Anda dapat menyertakan header dari proyek referensi Anda seperti:
Catatan:
#include
s, tetapi ini menetapkan dependensi build yang benar, yang mungkin Anda inginkan.sumber