Originariamente inviato da xshell
Credo di avere un po' di confusione... ricapitolando:
Io creo dei file (*.cpp, *.h) e li compilo per ottenere il file "libreria.lib". Una volta che si ha la libreria, scrivo un'altro file che contiene i prototipi della libreria. In quest'ultimo file che cosa devo includere? Niente di particolare?
Di solito in realtà non scrivi un file separato, ma lo stesso che usi nel compilare la libreria statica. Ti faccio un esempio estremamente banale di libreria statica che capisci meglio:
codice:
//Mialibreria.h
int Somma(int a, int b);
codice:
//Mialibreria.cpp
#include "Mialibreria.h"
int Somma(int a, int b)
{
return a + b;
}
Compilando questo progetto come libreria statica ottieni Mialibreria.lib. A questo punto nell'altro progetto scriverai:
codice:
//Mioeseguibile.cpp
#include <iostream>
#include "Percorso/Mialibreria.h" //Percorso è il percorso in cui si trova il file in questione
using namespace std;
int main()
{
int a, b;
cin>>a;
cin>>b;
cout<<Somma(a,b);
return 0;
}
. Per funzionare ovviamente bisogna dire al linker di collegare anche Mialibreria.lib (di cui dovrai indicare ovviamente anche il percorso).
Se sei su Microsoft Visual C++ puoi evitare di smanettare direttamente con il linker o con le proprietà del progetto usando il #pragma di cui sopra.
Il codice #pragma comment è valido sempre, su qualsiasi sistema operativo e compilatore?
No, vale solo per Microsoft Visual C++.