Pregunta

Estoy experimentando frustración ^ Frustraion con este% & $ ^ & VS IDE. Estoy utilizando Visual C ++ 2008 SP1 3.5 (pero también tengo la edición Pro si lo que se necesita y no quiero utilizar LoadLibrary ())

Tengo una DLL de prueba creada en otro idioma (C básica no de hecho) que contiene una función CDECL que añade un 'int' a un 'doble'. Realmente me gustaría añadir un int a un flotador usando STDCALL, pero si puede llegar el primero para trabajar en primer lugar que sería un acheivement importante.

He leído extensamente y tratado: http://support.microsoft.com/kb/313981 http://www.codeproject.com/KB/DLL/loadingdll.aspx enlazar a un lib estática que une a una estructura estática lib estática y dinámicamente DLL enlazan generan con diferentes versiones de visual Studio

Me escribió un archivo de cabecera agradable para el AddShow.dll llama AddShow.h

DLLAPI int __cdecl AddTwoNum(int n, double f);

Luego utiliza esta ingeniosa herramienta para crear el archivo .lib: http://www.binary-soft.com/dll2lib/dll2lib.htm

Ahora qué?

He intentado Haga clic derecho y 'Añadir' y luego 'Clase" y luego 'componant Clase' a continuación, especificar la ruta y el nombre del archivo DLL, pero me da 8 millas de la hinchazón y de toda la caja de herramientas de las ventanas y un nuevo archivo AddShow.cpp.

Mi código C ++ es muy 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;
}

¿Cómo se acaba de obtener el IDE para vincular el archivo .lib?

AÑADIDO:

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)" (?AddTwoNum@@YAHHN@Z) 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 ==========
¿Fue útil?

Solución

Puede ir a:

  

Propiedades del proyecto -> Enlazador -> entrada

Publique sus .lib a las "Dependencias adicionales".

Además, puede poner

#pragma comment(lib, "<your .lib>")

en su archivo .cpp.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top