如何将libssh实现为我的编译器可识别的库?我正在使用Visual Studio 2010 C++,并且我已经包含了Boost库而没有任何问题,但我使用Boost进行的过程很奇怪,我可以告诉libssh会有所不同.
我真的不想做一个DLL文件,我想要一个可执行文件,但是我知道DLL文件可以通过.rc脚本嵌入到可执行文件中.(然后提取并加载)
除了Boost之外,我从来没有必要在我的任何项目中包含一个库,我觉得我应该真的知道如何做到这一点.请注意这是libssh而不是libssh2.谢谢.
我有一个正在编写的程序program.exe,它加载了一个 dll lib.dll。当我program.exe在调试模式下运行时,一切正常。当我尝试以发布模式运行时,出现错误:
The procedure entry point ... could not be located in the dynamic link library lib.dll.
当我在 Dependency walker 中打开 dll 时,所有相同的奇怪符号的确切函数都在那里。我查看了 Visual Studio 中的模块窗口,以确保我没有从错误的目录中加载 dll,但事实并非如此。我使用相同的编译器(Visual Studio 2012)编译了 dll 和 exe,所以这也不是问题。什么可能导致这种情况?
编辑:
我转换lib.dll成一个静态库,一切正常。我放弃!
我正在尝试导入如下文件:
#import "francais.dll"
Run Code Online (Sandbox Code Playgroud)
它告诉我它无法打开源文件"C:/xxxx/Proj/Release/francais.tlh"
库文件存在于Proj中.
怎么解决?