La bibliothèque de liaison dynamique ne génère pas un .fichier lib lors de la compilation (Visual Studio C++ Express)

Dans le cadre de l'apprentissage du C++, j'ai écrit une bibliothèque de classe simple + application qui fait référence à elle. Tout s'appuie, à l'exception de la bibliothèque de classe ne génère pas un .fichier lib, qui résultats dans l'application à lancer un "LINK : fatal error LNK1104: impossible d'ouvrir le fichier". Ce qui semble très raisonnable; évidemment, si un fichier n'est pas là, il y a une erreur et elle est mortelle. (Note: je n'ai pas de livre encore)

Donc, je suis allé à la recherche pour des raisons un .lib fichier ne peut pas être généré. Ma recherche-fu, en passant, est plutôt faible. Tout ce que je ai trouvé était que, si la bibliothèque n'a pas tout __declspec(dllexport) des balises, il ne serait pas exporter un .lib.

Je doit maintenant afficher l'en-tête et .rpc contenu de la bibliothèque de classe (Un simple "Console" de la classe avec une "Écriture(std::string)" méthode).

En-tête:

//Extensions.h

#pragma once

#include "stdafx.h"

namespace Extensions {

    __declspec(dllexport) class Console
    {
    public:
        __declspec(dllexport) static void Write(std::string text);
    };
}

Je ne suis pas sûr que j'ai besoin de balise de la fonction lorsque j'ai marqué la classe, mais je peux vérifier que quand il fonctionne.

Et la .fichier cpp:

//This is the main DLL file.

#include "stdafx.h"

//#include "Console.h"

namespace Extensions {

    void Console::Write(std::string text)
    {
        std::cout << text.c_str();
    }
}

J'ai vérifié et il est configuré pour générer une bibliothèque de liens dynamiques.

Grâce.

  • Pourquoi est - / / #include "de la Console.h" en commentaire? Comment compiler?
  • C'est #include d "stdafx.h". Notamment dans "Console.cpp" les résultats dans un "défini deux fois par erreur".