win32 콘솔 응용 프로그램, staticlibrary 지정, 미리 컴파일된 헤더 선택 취소.
정적 라이브러르에 클래스 추가
// MathFuncsLib.h namespace MathFuncs { class MyMathFuncs { 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); }; } |
// MathFuncsLib.cpp // compile with: cl /c /EHsc MathFuncsLib.cpp // post-build command: lib MathFuncsLib.obj #include "MathFuncsLib.h" #include <stdexcept> using namespace std; namespace MathFuncs { double MyMathFuncs::Add(double a, double b) { return a + b; } double MyMathFuncs::Subtract(double a, double b) { return a - b; } double MyMathFuncs::Multiply(double a, double b) { return a * b; } double MyMathFuncs::Divide(double a, double b) { return a / b; } } |
// MyExecRefsLib.cpp // compile with: cl /EHsc MyExecRefsLib.cpp /link MathFuncsLib.lib #include <iostream> #include "MathFuncsLib.h" using namespace std; int main() { double a = 7.4; int b = 99; cout << "a + b = " << MathFuncs::MyMathFuncs::Add(a, b) << endl; cout << "a - b = " << MathFuncs::MyMathFuncs::Subtract(a, b) << endl; cout << "a * b = " << MathFuncs::MyMathFuncs::Multiply(a, b) << endl; cout << "a / b = " << MathFuncs::MyMathFuncs::Divide(a, b) << endl; return 0; } |
1. header 디렉토리 추가. C/C++ -> General -> Additional Include Directories
2. lib 빌드된 라이브러리 바이너리 디렉토리 추가
3. lib 파일 지정 파일명을 적음
https://msdn.microsoft.com/ko-kr/library/ms235627.aspx
http://scripter.co.kr/294