Je rencontre Frustration Frustration avec ce% & $^& VS IDE. J'utilise Visual C++ 2008 3.5 SP1 (mais j'ai aussi l'édition professionnelle si nécessaire et je ne veux pas utiliser loadlibrary())Visual Studio 2008 IDE - Liaison statique d'une bibliothèque Dll C
J'ai un test Dll créé dans une autre langue (basique pas C en fait) qui contient une fonction CDECL qui ajoute un 'int' à un 'double'. Je voudrais vraiment ajouter un int à un float en utilisant STDCALL, mais si le premier fonctionne, ce serait un grand succès.
J'ai beaucoup lu et essayé: http://support.microsoft.com/kb/313981 http://www.codeproject.com/KB/DLL/loadingdll.aspx Linking to a static lib that links to a static lib statically and dynamically linking DLLs generated with different versions of Visual Studio
j'ai écrit un fichier d'en-tête bien pour le AddShow.dll appelé AddShow.h
DLLAPI int __cdecl AddTwoNum(int n, double f);
J'ai ensuite utilisé ce nifty outil pour créer le fichier .lib: http://www.binary-soft.com/dll2lib/dll2lib.htm
Et maintenant? J'ai essayé de faire un clic droit et 'Add' puis 'Class' puis 'Componant Class' en spécifiant le chemin et le nom de la DLL, mais j'obtiens 8 miles de bloat et toute la boîte à outils Windows et un nouveau fichier AddShow.cpp .
Mon code C++ est vraiment simple:
extern int __cdecl AddTwoNum(int n, double f);
int main()
{
int n, RetVal;
double d;
n = 33;
d = 66.6;
RetVal = AddTwoNum(n, d);
cout << "RetVal=" << RetVal;
return 0;
}
Comment puis-je obtenir que l'IDE pour relier le fichier .lib
AJOUTÉE:
after linking (.lib file is in the debug file) I get the following error:
Compiling...
main.cpp
Linking...
main.obj : error LNK2019: unresolved external symbol "int __cdecl AddTwoNum(int,double)" ([email protected]@[email protected]) referenced in function _main
C:\C++\FirstDll\Debug\FirstDll.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://c:\C++\FirstDll\FirstDll\Debug\BuildLog.htm"
FirstDll - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Vous pouvez commencer à utiliser CMake pour générer des fichiers de solution, au lieu de cliquer sur le gestionnaire de solutions. Je trouve CMake moins irritant. – liori