Bagikan melalui


Panduan: Membuat dan menggunakan pustaka statis

Panduan langkah demi langkah ini menunjukkan cara membuat pustaka statis (file.lib) untuk digunakan dengan aplikasi C++. Menggunakan pustaka statis adalah cara yang bagus untuk menggunakan kembali kode. Daripada melengkapi kembali rutinitas yang sama di setiap aplikasi yang memerlukan fungsionalitas, Anda menulisnya satu kali di pustaka statis lalu mereferensikannya dari aplikasi. Kode yang ditautkan dari pustaka statis menjadi bagian dari aplikasi Anda—Anda tidak perlu menginstal file lain untuk menggunakan kode.

Panduan ini mencakup tugas-tugas ini:

Prasyarat

Pemahaman tentang dasar-dasar bahasa C++.

Membuat proyek pustaka statis

Petunjuk tentang cara membuat proyek bervariasi tergantung pada versi Visual Studio Anda. Untuk melihat dokumentasi untuk versi Visual Studio pilihan Anda, gunakan kontrol pemilih Versi. Kontrol tersebut dapat ditemukan di bagian atas daftar isi pada halaman ini.

Untuk membuat proyek pustaka statis di Visual Studio

  1. Pada bilah menu, pilih File>Proyek Baru>untuk membuka dialog Buat Proyek Baru.

  2. Di bagian atas dialog, atur Bahasa ke C++, atur Platform ke Windows, dan atur Jenis proyek ke Pustaka.

  3. Dari daftar tipe proyek yang difilter, pilih Windows Desktop Wizard, lalu pilih Berikutnya.

  4. Di halaman Konfigurasikan proyek baru Anda, masukkan MathLibrary di kotak Nama proyek untuk menentukan nama proyek. Masukkan StaticMath di kotak Nama solusi . Pilih tombol Buat untuk membuka dialog Proyek Desktop Windows.

  5. Dalam dialog Proyek Desktop Windows, di bawah Jenis aplikasi, pilih Pustaka Statis (.lib).

  6. Di bawah Opsi tambahan, hapus centang pada kotak centang Header yang telah dikompresi jika dicentang. Centang kotak Kosongkan proyek .

  7. Pilih OK untuk membuat proyek.

Untuk membuat proyek pustaka statis di Visual Studio 2017

  1. Dari bilah menu, pilih File>New>Project.

  2. Dalam kotak dialog Proyek Baru, pilih Visual C++>Windows Desktop terinstal.> Di panel tengah, pilih Panduan Desktop Windows.

  3. Tentukan nama untuk proyek—misalnya, MathLibrary—dalam kotak Nama . Tentukan nama untuk solusi—misalnya, StaticMath—dalam kotak Nama Solusi. Pilih tombol OK.

  4. Dalam dialog Proyek Desktop Windows, di bawah Jenis aplikasi, pilih Pustaka Statis (.lib).

  5. Di bawah Opsi Tambahan, kosongkan kotak centang Header yang telah dikompresi jika dicentang. Centang kotak Kosongkan proyek .

  6. Pilih OK untuk membuat proyek.

Untuk membuat proyek pustaka statis di Visual Studio 2015

  1. Dari bilah menu, pilih File>New>Project.

  2. Dalam kotak dialog Proyek Baru, pilih Templat Terinstal>>Visual C++>Win32. Di panel tengah, pilih Aplikasi Konsol Win32.

  3. Tentukan nama untuk proyek—misalnya, MathLibrary—dalam kotak Nama . Tentukan nama untuk solusi—misalnya, StaticMath—dalam kotak Nama Solusi. Pilih tombol OK.

  4. Di Panduan Aplikasi Win32, pilih Berikutnya.

  5. Di halaman Pengaturan Aplikasi, di bawah Jenis aplikasi, pilih Pustaka statis. Di bawah Opsi tambahan, hapus centang pada kotak centang Header yang telah dikompresi. Pilih Selesai untuk membuat proyek.

Menambahkan kelas ke pustaka statis

Untuk menambahkan kelas ke pustaka statis

  1. Untuk membuat file header untuk kelas baru, klik kanan untuk membuka menu pintasan untuk proyek MathLibrary di Penjelajah Solusi, lalu pilih Tambahkan>Item Baru.

  2. Dalam kotak dialog Tambahkan Item Baru, pilih Visual C++>Code. Di panel tengah, pilih File Header (.h). Tentukan nama untuk file header—misalnya, MathLibrary.h—lalu pilih tombol Tambahkan . File header yang hampir kosong ditampilkan.

  3. Tambahkan deklarasi untuk kelas bernama Arithmetic untuk melakukan operasi matematika umum seperti penambahan, pengurangan, perkalian, dan pembagian. Kode harus menyerupai:

    // MathLibrary.h
    #pragma once
    
    namespace MathLibrary
    {
        class Arithmetic
        {
        public:
            // Returns a + b
            static double Add(double a, double b);
    
            // Returns a - b
            static double Subtract(double a, double b);
    
            // Returns a * b
            static double Multiply(double a, double b);
    
            // Returns a / b
            static double Divide(double a, double b);
        };
    }
    
  4. Untuk membuat file sumber untuk kelas baru, buka menu pintasan untuk proyek MathLibrary di Penjelajah Solusi, lalu pilih Tambahkan>Item Baru.

  5. Dalam kotak dialog Tambahkan Item Baru, di panel tengah, pilih File C++ (.cpp). Tentukan nama untuk file sumber—misalnya, MathLibrary.cpp—lalu pilih tombol Tambahkan . File sumber kosong ditampilkan.

  6. Gunakan file sumber ini untuk mengimplementasikan fungsionalitas untuk kelas Arithmetic. Kode harus menyerupai:

    // MathLibrary.cpp
    // compile with: cl /c /EHsc MathLibrary.cpp
    // post-build command: lib MathLibrary.obj
    
    #include "MathLibrary.h"
    
    namespace MathLibrary
    {
        double Arithmetic::Add(double a, double b)
        {
            return a + b;
        }
    
        double Arithmetic::Subtract(double a, double b)
        {
            return a - b;
        }
    
        double Arithmetic::Multiply(double a, double b)
        {
            return a * b;
        }
    
        double Arithmetic::Divide(double a, double b)
        {
            return a / b;
        }
    }
    
  7. Untuk membangun pustaka statis, pilih Build>Build Solution di bilah menu. Build membuat pustaka statis, MathLibrary.lib, yang dapat digunakan oleh program lain.

    Catatan

    Saat membuat di baris perintah Visual Studio, Anda harus membuat program dalam dua langkah. Pertama, jalankan cl /c /EHsc MathLibrary.cpp untuk mengkompilasi kode dan membuat file objek yang bernama MathLibrary.obj. (Perintah cl memanggil pengkompilasi, Cl.exe, dan /c opsi menentukan kompilasi tanpa menautkan. Untuk informasi selengkapnya, lihat /c (Kompilasi Tanpa Penautan).) Kedua, jalankan lib MathLibrary.obj untuk menautkan kode dan membuat pustaka statis MathLibrary.lib. (Perintah lib memanggil Manajer Pustaka, Lib.exe. Untuk informasi selengkapnya, lihat Referensi LIB.)

Membuat aplikasi konsol C++ yang mereferensikan pustaka statis

Untuk membuat aplikasi konsol C++ yang mereferensikan pustaka statis di Visual Studio

  1. Di Penjelajah Solusi, klik kanan pada simpul atas, Solusi 'StaticMath', untuk membuka menu pintasan. Pilih Tambahkan>Proyek Baru untuk membuka dialog Tambahkan Proyek Baru.

  2. Di bagian atas dialog, atur filter Jenis proyek ke Konsol.

  3. Dari daftar jenis proyek yang difilter, pilih Aplikasi Konsol lalu pilih Berikutnya. Di halaman berikutnya, masukkan MathClient di kotak Nama untuk menentukan nama proyek.

  4. Pilih tombol Buat untuk membuat proyek klien.

  5. Setelah Anda membuat aplikasi konsol, program kosong dibuat untuk Anda. Nama untuk file sumber sama dengan nama yang Anda pilih sebelumnya. Dalam contoh, itu bernama MathClient.cpp.

Untuk membuat aplikasi konsol C++ yang mereferensikan pustaka statis di Visual Studio 2017

  1. Di Penjelajah Solusi, klik kanan pada simpul atas, Solusi 'StaticMath', untuk membuka menu pintasan. Pilih Tambahkan>Proyek Baru untuk membuka kotak dialog Tambahkan Proyek Baru.

  2. Dalam kotak dialog Tambahkan Proyek Baru, pilih Visual C++>Windows Desktop terinstal.> Di panel tengah, pilih Panduan Desktop Windows.

  3. Tentukan nama untuk proyek—misalnya, MathClient—dalam kotak Nama . Pilih tombol OK.

  4. Dalam dialog Proyek Desktop Windows, di bawah Jenis aplikasi, pilih Aplikasi Konsol (.exe).

  5. Di bawah Opsi Tambahan, kosongkan kotak centang Header yang telah dikompresi jika dicentang.

  6. Pilih OK untuk membuat proyek.

  7. Setelah Anda membuat aplikasi konsol, program kosong dibuat untuk Anda. Nama untuk file sumber sama dengan nama yang Anda pilih sebelumnya. Dalam contoh, itu bernama MathClient.cpp.

Untuk membuat aplikasi konsol C++ yang mereferensikan pustaka statis di Visual Studio 2015

  1. Di Penjelajah Solusi, klik kanan pada simpul atas, Solusi 'StaticMath', untuk membuka menu pintasan. Pilih Tambahkan>Proyek Baru untuk membuka kotak dialog Tambahkan Proyek Baru.

  2. Dalam kotak dialog Tambahkan Proyek Baru, pilih Visual C++>Win32 terinstal.> Di panel tengah, pilih Aplikasi Konsol Win32.

  3. Tentukan nama untuk proyek—misalnya, MathClient—dalam kotak Nama . Pilih tombol OK.

  4. Dalam dialog Panduan Aplikasi Win32, pilih Berikutnya.

  5. Pada halaman Pengaturan Aplikasi, di bawah Jenis aplikasi, pastikan aplikasi Konsol dipilih. Di bawah Opsi tambahan, hapus centang header Prakompilasi, lalu centang kotak Centang Proyek Kosong. Pilih Selesai untuk membuat proyek.

  6. Untuk menambahkan file sumber ke proyek kosong, klik kanan untuk membuka menu pintasan untuk proyek MathClient di Penjelajah Solusi, lalu pilih Tambahkan>Item Baru.

  7. Dalam kotak dialog Tambahkan Item Baru, pilih Visual C++>Code. Di panel tengah, pilih File C++ (.cpp). Tentukan nama untuk file sumber—misalnya, MathClient.cpp—lalu pilih tombol Tambahkan . File sumber kosong ditampilkan.

Menggunakan fungsionalitas dari pustaka statis di aplikasi

Untuk menggunakan fungsionalitas dari pustaka statis di aplikasi

  1. Sebelum Anda dapat menggunakan rutinitas matematika di pustaka statis, Anda harus mereferensikannya. Buka menu pintasan untuk proyek MathClient di Penjelajah Solusi, lalu pilih Tambahkan>Referensi.

  2. Kotak dialog Tambahkan Referensi mencantumkan pustaka yang bisa Anda referensikan. Tab Proyek mencantumkan proyek dalam solusi saat ini dan pustaka apa pun yang mereka referensikan. Buka tab Proyek , pilih kotak centang MathLibrary , lalu pilih tombol OK .

  3. Untuk mereferensikan MathLibrary.h file header, Anda harus mengubah jalur direktori yang disertakan. Di Penjelajah Solusi, klik kanan MathClient untuk membuka menu pintasan. Pilih Properti untuk membuka kotak dialog Halaman Properti MathClient.

  4. Dalam kotak dialog Halaman Properti MathClient, atur menu drop-down Konfigurasi ke Semua Konfigurasi. Atur menu drop-down Platform ke Semua Platform.

  5. Pilih halaman properti Properti>Konfigurasi C/C++>General. Di properti Sertakan Direktori Tambahan, tentukan jalur direktori MathLibrary, atau telusuri.

    Untuk menelusuri jalur direktori:

    1. Buka daftar drop-down Nilai properti Sertakan Direktori Tambahan, lalu pilih Edit.

    2. Dalam kotak dialog Sertakan Direktori Tambahan, klik dua kali di bagian atas kotak teks. Kemudian pilih tombol elipsis (...) di akhir baris.

    3. Dalam kotak dialog Pilih Direktori , navigasikan tingkat, lalu pilih direktori MathLibrary . Lalu pilih tombol Pilih Folder untuk menyimpan pilihan Anda.

    4. Dalam kotak dialog Sertakan Direktori Tambahan, pilih tombol OK .

    5. Dalam kotak dialog Halaman Properti, pilih tombol OK untuk menyimpan perubahan Anda ke proyek.

  6. Anda sekarang dapat menggunakan Arithmetic kelas di aplikasi ini dengan menyertakan #include "MathLibrary.h" header dalam kode Anda. Ganti isi MathClient.cpp dengan kode ini:

    // MathClient.cpp
    // compile with: cl /EHsc MathClient.cpp /link MathLibrary.lib
    
    #include <iostream>
    #include "MathLibrary.h"
    
    int main()
    {
        double a = 7.4;
        int b = 99;
    
        std::cout << "a + b = " <<
            MathLibrary::Arithmetic::Add(a, b) << std::endl;
        std::cout << "a - b = " <<
            MathLibrary::Arithmetic::Subtract(a, b) << std::endl;
        std::cout << "a * b = " <<
            MathLibrary::Arithmetic::Multiply(a, b) << std::endl;
        std::cout << "a / b = " <<
            MathLibrary::Arithmetic::Divide(a, b) << std::endl;
    
        return 0;
    }
    
  7. Untuk membuat executable, pilih Build>Build Solution pada bilah menu.

Menjalankan aplikasi

Untuk menjalankan aplikasi

  1. Pastikan MathClient dipilih sebagai proyek default. Untuk memilihnya, klik kanan untuk membuka menu pintasan untuk MathClient di Penjelajah Solusi, lalu pilih Atur sebagai Proyek StartUp.

  2. Untuk menjalankan proyek, pada bilah menu, pilih Debug>Start Without Debugging. Output harus menyerupai:

    a + b = 106.4
    a - b = -91.6
    a * b = 732.6
    a / b = 0.0747475
    

Lihat juga

Panduan: Membuat dan Menggunakan Pustaka Dynamic Link (C++)