Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在MFC项目中包含Curl_C++_Curl_Mfc_Unresolved External_Curlpp - Fatal编程技术网

C++ 在MFC项目中包含Curl

C++ 在MFC项目中包含Curl,c++,curl,mfc,unresolved-external,curlpp,C++,Curl,Mfc,Unresolved External,Curlpp,我是个卷发新手。我需要使用C++中的CURL和SSL支持。 我使用nmake编译了OpenSSL,然后通过VS10项目将libcurl编译为一个支持SLL的静态库。编译成功了,我尝试构建一个小的控制台应用程序示例:这很有效 但是,当我尝试创建具有以下特定属性的MFC项目时: MFC作为对话框,不使用unicode,在静态库中使用MFC。 这不起作用,我得到了以下未解决的符号错误: libcurl.lib(mprintf.obj) : error LNK2001: symbole externe

我是个卷发新手。我需要使用C++中的CURL和SSL支持。 我使用nmake编译了OpenSSL,然后通过VS10项目将libcurl编译为一个支持SLL的静态库。编译成功了,我尝试构建一个小的控制台应用程序示例:这很有效

但是,当我尝试创建具有以下特定属性的MFC项目时: MFC作为对话框,不使用unicode,在静态库中使用MFC。 这不起作用,我得到了以下未解决的符号错误:

libcurl.lib(mprintf.obj) : error LNK2001: symbole externe non résolu __imp__fputc
1>libcurl.lib(tftp.obj) : error LNK2001: symbole externe non résolu __imp__memchr
1>libcurl.lib(http.obj) : error LNK2001: symbole externe non résolu __imp__memchr
1>libcurl.lib(userauth.obj) : error LNK2001: symbole externe non résolu __imp__memchr
1>libcurl.lib(file.obj) : error LNK2001: symbole externe non résolu __imp___fstat64
1>libcurl.lib(formdata.obj) : error LNK2001: symbole externe non résolu __imp___stat64
1>libcurl.lib(session.obj) : error LNK2001: symbole externe non résolu __imp___difftime64
1>libcurl.lib(kex.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(knownhost.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(scp.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(misc.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(transport.obj) : error LNK2001: symbole externe non résolu _imp___snprintf
1>libcurl.lib(channel.obj) : error LNK2001: symbole externe non résolu __imp___wassert
1>libcurl.lib(sftp.obj) : error LNK2001: symbole externe non résolu __imp___wassert
1>libcurl.lib(transport.obj) : error LNK2001: symbole externe non résolu __imp___wassert
1>libcurl.lib(userauth.obj) : error LNK2001: symbole externe non résolu __imp__rewind
1>libcurl.lib(misc.obj) : error LNK2001: symbole externe non résolu __imp__vsnprintf

提前谢谢

默认情况下,curl使用
/MD
(dll)运行时库进行编译(这就是为什么要将
\uuu imp\uu
前缀添加到未解析的外部)

我假设您使用
/MT
(静态链接的运行时)构建MFC项目

通过将构建控制台中的
RTLIBCFG
环境变量设置为
static
,可以使用静态运行时构建curl,如下所示:

set RTLIBCFG=static

或者只需手动将
/MT
添加到编译器标志中,并将
/NODEFAULTLIB:MSVCRT.lib
添加到makefiles中的链接标志中,以防第一个建议不起作用