1.codeblocks正常模式是linux,不能直接导入lib,只能导入.a
若要导入lib,参考:
CodeBlocks与C-Free使用VC的静态库_KingZhang2000的博客-CSDN博客
gcc g++ 怎样调用vc的 .lib库文件-CSDN论坛
2.按常规方法,在vs中导入lib,参考:(使用GUI方式参考下面三个截图)
C++:LIB和DLL的区别与使用 - _海阔天空 - 博客园
注意:生成lib有2种编译生成方式,生成带有dll,则lib只包含函数地址信息,编译时不需要dll,但运行时需要有dll
3.c++代码导入c++ lib,不能export "c"{},就原封不动拿过来用,否则会出名字改变的问题编译器找不到符号定义
4.以下工具打开后,使用dumpbin /headers libname.lib可以查看lib文件是32位还是64位
5.由于lib是64位,应在项目配置里面改为64位编译方式,否则出现找不到符号:
如何改为64位编译方式,参考如下:
6.调试运行缺少ucrtbased.dll和vcruntime140d.dll
解决方法:下载后放exe目录,或调试-工作目录
7.0xc000007b——应用程序无法正常启动
参考:正确解决:坑爹的0xc000007b——应用程序无法正常启动_天道酬勤、业道酬信!-CSDN博客_应用程序无法正常启动0xc000007b
我遇到的原因是:第6条中下载的2个dll不是64位的,这个也可以用dumpbin -headers去查看,我重新下载了64位的ucrtbased.dll和vcruntime140d.dll解决问题