Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.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++ [DevCpp]使用curl库编译程序时出现问题_C++_Curl_Libcurl - Fatal编程技术网

C++ [DevCpp]使用curl库编译程序时出现问题

C++ [DevCpp]使用curl库编译程序时出现问题,c++,curl,libcurl,C++,Curl,Libcurl,你好,我想用DevCpp和MinGW64编译器编译一个windows.EXE应用程序。我想要编译的应用程序非常简单,需要CURL库。我使用的是64位Windows 8,Orwell Dev-C++V 5.3.0.4。我已经从官方网站Win64-MinGW64-develv.28.1下载了CURL库。我已将所有include、bin和lib文件复制到MinGW64文件夹,但无法编译该程序,因为它会出现以下链接器错误: [Linker error] C:\Users\Pano

你好,我想用DevCpp和MinGW64编译器编译一个windows.EXE应用程序。我想要编译的应用程序非常简单,需要CURL库。我使用的是64位Windows 8,Orwell Dev-C++V 5.3.0.4。我已经从官方网站Win64-MinGW64-develv.28.1下载了CURL库。我已将所有include、bin和lib文件复制到MinGW64文件夹,但无法编译该程序,因为它会出现以下链接器错误:

            [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x37): undefined reference to `__imp_curl_global_init'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x74): undefined reference to `__imp_curl_formadd'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0xb1): undefined reference to `__imp_curl_formadd'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0xba): undefined reference to `__imp_curl_easy_init'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0xd5): undefined reference to `__imp_curl_slist_append'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x100): undefined reference to `__imp_curl_easy_setopt'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x157): undefined reference to `__imp_curl_easy_setopt'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x173): undefined reference to `__imp_curl_easy_setopt'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x183): undefined reference to `__imp_curl_easy_perform'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x19a): undefined reference to `__imp_curl_easy_strerror'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x1cc): undefined reference to `__imp_curl_easy_cleanup'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x1dc): undefined reference to `__imp_curl_formfree'
        [Linker error] C:\Users\Panos\AppData\Local\Temp\ccSFo7Pn.o:upload.cpp:(.text+0x1ec): undefined reference to `__imp_curl_slist_free_all'
        collect2: ld returned 1 exit status
我唯一能够编译该程序的方法是使用编译器的-DCURL\u STATICLIB-c-h-Icurl\include选项,但我得到的只是一个16位的应用程序,它无法在我的操作系统中运行

我试图编译的代码是以下示例:

我花了很多时间在网上搜索和阅读指南,使我的程序编译,但没有任何运气。请帮帮我,告诉我我做错了什么


谢谢

如果在您尝试运行已编译的二进制文件时,它请求libcurl.dll,则在运行时需要libcurl.dll。尝试将libcurl.dll放入二进制文件的工作目录。

这些问题不是在编译过程中,而是在链接过程中。您需要向库添加路径。你需要用谷歌搜索如何告诉链接器在哪里找到lib文件。这是特定于您的环境的,Orwell Dev-C++我已经通过工具>编译器选项>目录添加了文件路径。您需要的是链接器选项,而不是编译器。通过将目录添加到编译器选项,您已经告诉了Orwell Dev-C++在哪里可以找到头文件,而不是编译器库。这就是为什么在链接问题出现之前,编译是成功的。查找有关链接器选项的信息任何地方都没有链接器选项,但我可以为链接器设置命令行选项。我怎样才能告诉它包含LIB?这取决于环境,正如我已经说过的。我不知道如何为Orwell Dev-C++做到这一点。对于gcc,向库添加如下路径:-L/full/or/relative/path/to/the/library-llabrary\u name capital-L前缀表示路径,小写-L前缀表示库在%WINDIR%/System32中放置libcurl.dll。请只需将它放在路径或可执行文件旁边。工作目录不准确。这可能与可执行文件的位置不同,例如,当它被称为..\..\executable.exe时。