gpt4 book ai didi

c++ - 链接 : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use/NODEFAULTLIB:library

转载 作者:IT老高 更新时间:2023-10-28 22:35:01 26 4
gpt4 key购买 nike

当我尝试构建与 libeay32.lib 链接的源时。我是从 OpenSSL 源本地构建的。我遇到了上述警告“链接:警告 LNK4098:defaultlib 'MSVCRT' 与使用其他库发生冲突;使用/NODEFAULTLIB:library”。当我调试我的 exe 时,只要有一些系统调用(如 read()),Exe 就会崩溃。经过一番搜索,我发现这是与“运行时库”MT 和 MD 相关的东西。由于某些原因,我无法通过构建 openssl 源来解决此问题。到目前为止,我所做的是将条目“MSVCRT.lib”保留在 Ignore Specific Library 我必须为其他几个库执行此操作。我不想这样做。有没有其他最优解。

最佳答案

如果我理解正确,您将 OpenSSL 的发布版本与导致使用不同 CRT 版本的程序的调试版本混合在一起,因为您没有发布实际设置,OpenSSL 使用 DLL 可能更糟CRT,而您的代码是静态的。请发布您的程序使用哪种 CRT(可以通过单击项目上的 Properties 找到,然后单击 Configuration Properties -> C/C++ -> Code Generation -> Runtime Libarary)。要么使用正确的 OpenSSL 版本(例如,使用调试信息构建它并链接到调试 CRT),要么,因为您声明您无法重新编译 OpenSSL,所以在没有优化的情况下使用 Multi-threaded DLL 编译您的代码,这样您得到一个可以调试并使用与 OpenSSL 相同的 CRT 的程序。我猜这应该可以解决它。

关于c++ - 链接 : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use/NODEFAULTLIB:library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18612072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com