Advanced Java Services | create a lib with visualstudio |
Hier wird gezeigt, wie man mit Visual Studio eine Library erstellen kann und sie verwendet. Es werden zwei Projekte angelegt, eines zum Erstellen der Library, ein zweites wird dann diese Library verwenden. Die Schritte sind fast dieselben wie zum Erzeugen einer DLL.
Solution -> Add -> New Project
Der Name des Projects ist beliebig wählbar. Hier wird lib-create gewählt.
Jetzt wird Static library gewählt und Precompiled Header ausgehakt.
Der Header (Test.h) deklariert eine globale Funktion und eine Klasse.
#pragma once #include <iostream> #include <string> using namespace std; namespace test { __declspec(dllexport) void foo(string msg); class TestClass { private: int id; public: __declspec(dllexport) TestClass(); //constructor __declspec(dllexport) void setID(int val); __declspec(dllexport) int getID(); }; }
Die Implementierung (Test.cpp)
#include "Test.h" using namespace std; void test::foo(string msg) { std::cout << msg << std::endl; } test::TestClass::TestClass() { id = 345; } void test::TestClass::setID(int val) { id = val; } int test::TestClass::getID() { return id; }
Selstamerweise wird die Library nicht im Projektverzeichnis abgelegt, sie wird ins Debug-Verzeichnis der Projektmappe gelegt. Hier findet man die Datei lib-create.lib.