(C ++)CURL_STATICLIB:没有这样的文件或目录

时间:2017-07-09 14:56:45

标签: c++ curl codeblocks libcurl

我已经安装并配置了我的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

1 个答案:

答案 0 :(得分:1)

从失败的编译命令:

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并添加它 到其他链接器选项