我已经安装并配置了curl库,并通过CodeBlocks将其链接到MinGW。一切正常,但是当我构建代码时,出现错误:
CURL_STATICLIB No such file or directory
这是错误的屏幕截图:
CURL_STATICLIB Error
我在#defines中定义了CURL_STATICLIB:
CURL_STATICLIB in #defines
另外这里是一个构建日志:
-------------- Build: Debug in CurlTest (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -Wall -fexceptions -g CURL_STATICLIB -DCURL_STATICLIB -std=c++11 -lcurl -DCURL_STATICLIB -IC:\libs\curl\include -c C:\Users\ondre\OneDrive\Documents\Projects++\CurlTest\main.cpp -o obj\Debug\main.o
mingw32-g++.exe: error: CURL_STATICLIB: No such file or directory
Process terminated with status 1 (0 minute(s), 0 second(s))
1 error(s), 0 warning(s) (0 minute(s), 0 second(s))
我的编译器信息:
MinGW gcc (GCC) 5.3.0
最佳答案
从失败的编译命令中:
mingw32-g++.exe -Wall -fexceptions -g CURL_STATICLIB -DCURL_STATICLIB -std=c++11 \
-lcurl -DCURL_STATICLIB -IC:\libs\curl\include \
-c C:\Users\ondre\OneDrive\Documents\Projects++\CurlTest\main.cpp-o obj\Debug\main.o
我们可以看到,并且在预处理器中添加了
CURL_STATICLIB
定义(
-DCURL_STATICLIB
),实际上您也已将其添加到您的其他编译器选项(
-g CURL_STATICLIB
)。而且当然字符串
CURL_STATICLIB
不是g ++选项,并且不以
-
开头,g ++将其解释为输入文件的名称进行编译,以解释您的错误。
此外,您已经在编译选项中添加了
-lcurl
,表示您要链接
libcurl
与您的程序。这不是一个编译选项,它是一个链接选项。编译器将忽略它
并且,如果您还没有将其添加到链接器选项,则您的
成功编译后,程序将无法链接。
要解决此问题,请从编译器选项中删除
-lcurl
并将其添加到其他链接器选项