Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: samuelhm en 21 Abril 2014, 19:44 pm



Título: Dll que usa otras librerias
Publicado por: samuelhm en 21 Abril 2014, 19:44 pm
Estoy intentando crear una DLL que usa imageMagick++.
Al compilar como libreria estatica (.lib) me compila sin problema, pero cuando pongo en visual studio que me cree en DLL, me saltan 9 errores que no acabo de entender:

Código:
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Magick::Image::write(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?write@Image@Magick@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Magick::Image::scale(class Magick::Geometry const &)" (__imp_?scale@Image@Magick@@QAEXABVGeometry@2@@Z)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Magick::Image::read(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?read@Image@Magick@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Magick::Image::crop(class Magick::Geometry const &)" (__imp_?crop@Image@Magick@@QAEXABVGeometry@2@@Z)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Magick::Image::~Image(void)" (__imp_??1Image@Magick@@UAE@XZ)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Image::Image(void)" (__imp_??0Image@Magick@@QAE@XZ)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Geometry::~Geometry(void)" (__imp_??1Geometry@Magick@@QAE@XZ)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Geometry::Geometry(char const *)" (__imp_??0Geometry@Magick@@QAE@PBD@Z)
1>corta.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Geometry::Geometry(unsigned int,unsigned int,long,long,bool,bool)" (__imp_??0Geometry@Magick@@QAE@IIJJ_N0@Z)
1>c:\users\samuel\documents\visual studio 2013\Projects\SolutionPokerDLL\Release\pokerdll.dll : fatal error LNK1120: 9 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Esto se puede solucionar, o no puedo crear dll's que usen otras librerias?


Título: Re: Dll que usa otras librerias
Publicado por: samuelhm en 21 Abril 2014, 20:10 pm
Me auto respondo, no habia ningun problema, el maldito visual studio te cambia todas las configuraciones cuando cambias de debug a release, no estaba la dirección de donde linkear las librerias.