使用vc2005静态链接openssl的libeay32.lib和ssleay32.lib两个库,为什么还要将其.dll的库也放到程序的当前目录下,如果没有.dll文件,程序报错"no OPENSSL_Applink"?? 如题vc2005静态链接openssl的libeay32.lib和ssleay32.lib两个库 ,为什么还要依赖两个.dll文件??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你那两个文件libeay32.lib ssleay32.lib是动态库的lib文件吧,生成DLL的时候也会生成的。确认你把openssl工程的生成文件设置成 静态库了? 那两个lib文件是动态库的符号文件,没有实际代码,所以用的是隐式动态链接,而不是静态链接,必须使用静态链接lib版本才行。动态链接的lib文件通常都很小。 lib有两种类型,一种只是一种代理,lib实际会去载入dll并执行相应代码,这种情况虽然是静态链接,也必须拷贝dll到当前目录或者搜索目录另一种包含实际代码,此时才不需要dll 调用DLL有两种方式:一种是自己LoadLibrary加载DLL,然后GetProcAddress获取要调用的导出函数的地址,再来调这个地址;另一种方式是link的时候导入DLL对应的LIB,LIB在程序初始化的时候自动执行LoadLibrary和GetProcAddress并把函数地址保存起来,当你调用LIB中的函数时,这些函数再去调DLL的导出函数。你用的就是这种调用方式。 libeay32.lib ssleay32.lib 是包含实际代码,所以问题让人奇怪,可执行文件还是依赖那些.dll库? 对,这些lib包含的代码只是调用对应的dll导出函数而已。 求教:ATL和Windows API之间的关系 本人有6年C++开发经验,在百度办了一个blog,希望大家赏光,共同促进提高。 如何进行多线程编程 如何在程序中获取来电号码? 这个问题没人会吗??????。。。。。MFC打印问题 动态生成的Radio如何设成一组..急 如何在VC中调用创建WORD对象? 能直接用一个结构给另一个结构赋值吗? 怎样显示文本?? 怎样调用IE5的save as菜单命令? SHGetFileInfo 和 ExtractIcon 更换exe文件图标问题 关于PDF中 FlateDecode编码的 图形数据流如何利用vc再现?
是动态库的lib文件吧,生成DLL的时候也会生成的。
确认你把openssl工程的生成文件设置成 静态库了?
动态链接的lib文件通常都很小。
另一种包含实际代码,此时才不需要dll