这是巨大焦虑的根源。我似乎无法让它做任何事情。我正在考虑毁掉整个项目。为什么链接器不工作?
我一直坐着看很多不同的链接,但我不明白如何解决它。我知道我已经正确安装了库,但是,我似乎无法链接它。我在 System32 文件中有 libcurl.dll 。然而,我仍然不知道该怎么办。我要疯狂地试图让它发挥作用。我在项目选项>目录>库目录、项目选项>目录>包含目录或项目选项>目录>资源目录中没有任何文件。在项目选项>参数>链接器中:
"../Program Files (x86)/Dev-Cpp/MinGW64/lib/libcurl.a"
所以,我不知道还能做什么。我已经坐在这里大约一周了,试图自己解决这个问题。我可能应该早点寻求帮助 x.x 也许我缺少 libcurl 的文件,但我对此表示怀疑,因为我下载了整个文件。我不知道是否是我的防火墙诺顿阻止了它。如果是的话我该如何授予权限?我不知道问题是什么。有人可以解释一下吗?我确实查看了任何人在此提供的所有解决方案
我的MakeFile:
# Project: Project1
# Makefile created by Dev-C++ 5.11
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OBJ = Project.o
LINKOBJ = Project.o
LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc "../Program Files (x86)/Dev-Cpp/MinGW64/lib/libcurl.a"
INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN = Project1.exe
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS)
RM = rm.exe -f
.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after
clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
Project.o: Project.cpp
$(CPP) -c Project.cpp -o Project.o $(CXXFLAGS)
源代码:
#include <curl/curl.h>
#include <iostream>
int main( void )
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return 0;
}
不断弹出的错误:
g++.exe Project.o -o Project1.exe -L"C:/Program Files (x86)/Dev-
Cpp/MinGW64/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-
mingw32/lib" -static-libgcc "../Program Files (x86)/Dev-
Cpp/MinGW64/lib/libcurl.a"
Project.o:Project.cpp:(.text+0x16): undefined reference to `__imp_curl_easy_init'
Project.o:Project.cpp:(.text+0x41): undefined reference to `__imp_curl_easy_setopt'
Project.o:Project.cpp:(.text+0x5c): undefined reference to `__imp_curl_easy_setopt'
Project.o:Project.cpp:(.text+0x6c): undefined reference to `__imp_curl_easy_perform'
Project.o:Project.cpp:(.text+0x83): undefined reference to `__imp_curl_easy_strerror'
Project.o:Project.cpp:(.text+0xb5): undefined reference to `__imp_curl_easy_cleanup'
collect2.exe: error: ld returned 1 exit status
C:\Projects\Makefile.win:25: recipe for target 'Project1.exe' failed
mingw32-make.exe: *** [Project1.exe] Error 1
最佳答案
这可能会更好,因为
-L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib" -lcurl
-L 参数将目录添加到库搜索路径,-l 参数指定要查找的库。
关于c++ - 无法链接 libcurl。(Dev-C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426666/