01/10/2018, 00:05

Build thư viện liên kết động (DLL - Dynamic Link Library) C++ trong VS 2013

mình đang gặp vấn đề khi build thư viện liên kết động ddl
Thư viện liên kết động gồm có 2 file:
.lib chứa các thông tin cần thiết để hệ điều hành nạp thư viện dll và xác đinh các hàm export trong dll.
.dll chứa chứa mã nhị phân của mã nguồn.

nhưng khi build thì nó chỉ ra 1 file là dll, k có file lib
mình sử dụng VS 2013

code build thử
file header.h

#ifndef STATIC_LIB
#define STATIC_LIB

#include <iostream>
using namespace std;

class phanso{
private:
	int tu;
	int mau;
public:
	phanso();
	phanso(int, int);
	friend ostream& operator<<(ostream &, phanso);
	friend istream& operator>>(istream &, phanso &);
	friend phanso operator+(phanso, phanso);
	friend phanso operator+(phanso, int);
	friend phanso operator+(int, phanso);
};

#endif

file định nghĩa source.cpp

#include "header.h"

phanso::phanso(){

}

phanso::phanso(int tu = 1, int mau = 2){
	this->tu = tu;
	this->mau = mau;
}

ostream& operator<<(ostream &cout, phanso a){
	cout << a.tu << '/' << a.mau;
	return cout;
}

istream& operator>>(istream &cin, phanso &a){
	cout << "Nhap tu " << endl;
	cin >> a.tu;
	cout << "Nhap mau " << endl;
	cin >> a.mau;
	return cin;
}

phanso operator+(phanso a, phanso b){
	int tu = (a.tu * b.mau) + (a.mau * b.tu);
	int mau = a.mau * b.mau;
	return phanso(tu, mau);
}

phanso operator+(phanso a, int b){
	phanso temp(b, 1);
	return a + temp;
}

phanso operator+(int b, phanso a){
	phanso temp(b, 1);
	return a + temp;
}

kết quả build chỉ có 1 file dll. vì k có file lib nên mình k biết add thư viện này vào vs như thế nào cả
như thư viện liên kết tĩnh thì mình dùng

#pragma comment(lib, "static.lib")
và thêm include file header hoặc add trong properties của project

Bài liên quan
0