2

好的,所以我是 C++ 新手,我正在尝试包含 libcURL。我创建了一个静态库,而不是使用 DLL,因为我希望能够尽可能减少我的程序依赖关系。

我还在 Visual Studio 2012 中将我的运行时库设置为 MT 和 MTd,因为我知道这消除了安装可再发行组件的需要?

无论如何,只要我添加该行#define CURL_STATICLIB,MSVCR110.dll 和 LIBCMTD.lib 就会相互冲突。我知道这是因为 MSVCR110.dll 是用 /MD 构建的,而 LIBCMTD.lib 是用 /MT 构建的,但我需要使用静态库并将运行时设置为 /MT

如何在不更改运行时库的情况下修复链接错误?如果那不可能,那么如何在保持我的应用程序的零依赖关系的同时解决这个问题?

另外,如果链接错误只涉及 MSVCR110.dll 和 LIBCMTD.lib,那么为什么它只在#define CURL_STATICLIB设置时发生,而不是一直发生?

谢谢

4

0 回答 0