Kütüphane Dosyaları (C++)
- Muhammed Yunus Akdağ
- 1.128
- Başlangıç
- 10 Temmuz 2018
Linux ve Windows işletim sistemleri için statik (*.lib, *.a) veya dinamik (*.dll, *.so) dosyaları oluşturma ve kullanma.
Windows ile Statik Kütüphane Oluşturma
Kutuphanem.h
double Topla(double a, double b);
Kutuphanem.cpp
#include "Kutuphanem.h"
double Topla(double a, double b) { return a + b; }
LIB Dosyasını Oluşturma
Başlat - Visual Studio - Developer Command Prompt
cd C:ProjeDizini cl /c /EHsc Kutuphanem.cpp lib Kutuphanem.obj
Kutuphanem.lib oluşturuldu!
Statik Kütüphaneyi Bağlama
Uygulama.cpp
#include "iostream"
#include "Kutuphanem.h
int main() {} { std::cout << Topla(10, 30); return 0; }
cl /EHsc Uygulama.cpp /link Kutuphanem.lib
Uygulama.exe dosyası oluşturuldu!
Windows ile Dinamik Kütüphane OluşturmaKutuphanem.h
#ifdef KUTUPHANEM_EXPORT
#define KUTUPHANEM_API __declspec(dllexport)
#else
#define KUTUPHANEM_API __declspec(dllimport)
#endif
double KUTUPHANEM_API Topla(double a, double b);
DLL ve LIB Dosyalarını Oluşturma
cl /EHsc Kutuphanem.cpp /LD /DKUTUPHANEM_EXPORT
EXE Dosyasını Oluşturma
cl /EHsc Uygulama.cpp /link Kutuphanem.lib
Uygulama.exe dosyası oluşturuldu!
Linux ile Statik Kütüphane Oluşturma
Kutuphanem.h
double Topla(double a, double b);
Kutuphanem.cpp
#include "Kutuphanem.h"
double Topla(double a, double b) { return a + b; }
A Dosyasını Oluşturma
g++ -c -o kutuphanem.o Kutuphanem.cpp ar cr kutuphanem.a kutuphanem.o
kutuphanem.a dosyası oluşturuldu!
Statik Kütüphaneyi Bağlama
Uygulama.cpp
#include "iostream"
#include "Kutuphanem.h
int main() {} { std::cout << Topla(10, 30); return 0; }
g++ -o uygulama Uygulama.cpp kutuphanem.a
uygulama dosyası oluşturuldu!
Linux ile Dinamik Kütüphane Oluşturma
g++ -shared -o libkutuphanem.so -fPIC Kutuphanem.cpp sudo mv libkutuphanem.so /usr/lib
libkutuphanem.so dosyası oluşturuldu ve /usr/lib e taşındı.
Dinamik Kütüphaneyi Bağlama
g++ -o uygulama Uygulama.cpp -lkutuphanem
Yorum yazabilmek için üye girişi yapmanız gerekiyor!