- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的项目编译 Libcurl,但出现以下错误。
g++ -g -o Main.exe Main.o I"C:\Test\src\WebSocket\curl" L"C:\Test\src\WebSocket\lib" -D_WIN32_WINNT=0x0601 -DWINVER=0x0601 -DCURL_STATICLIB -llibcurl
/mingw32/bin/ld.exe: cannot find -llibcurl
当我使用 mingw32 构建 libcurl 时,我得到了两个文件,即 libcurl.a、libcurl.la。我在 c:\Test\src\websocket\lib 下添加了这两个文件。此外,所有必需的 header 都在 C:\Test\src\WebSocket\curl 下我不确定为什么链接器无法链接这些库。
我尝试过的:
最初我遇到的错误如下:
main.cpp:11: undefined reference to __imp__curl_easy_init'
main.cpp:13: undefined reference to __imp__curl_easy_setopt'
main.cpp:14: undefined reference to __imp__curl_easy_perform'
main.cpp:17: undefined reference to __imp__curl_easy_cleanup'
在发布 SO 帖子后,我意识到我忘记链接我的 libcurl 库,我做了如下操作:
WS_DIR = "C:\Test\src\WebSocket\curl"
WS_LIB = "C:\Test\src\WebSocket\lib"
g++ -c -std=c++11 -g -fpermissive src/Main.cpp -I${WS_DIR} -L${WS_LIB} -D_WIN32_WINNT=0x0601 -DWINVER=0x0601 -DCURL_STATICLIB -llibcurl
但现在我面临链接问题。
任何具有良好编译器和 libcurl 理解的人都可以对此提供帮助吗?
@Jaochim:多亏了你,我已经更改了我的 make 文件。但现在我面临如下错误:
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x158): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x30a): undefined reference to `getpeername'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x313): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x377): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x3f0): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x419): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x515): undefined reference to `recv'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x6ba): undefined reference to `socket'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x861): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0xbbb): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0xd8b): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0xdfb): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0xf0d): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-connect.o):(.text+0x137d): more undefined references to `__errno' follow
\src\WebSocket\lib\libcurl.a(libcurl_la-select.o):(.text+0x7a): undefined reference to `poll'
\src\WebSocket\lib\libcurl.a(libcurl_la-select.o):(.text+0xa3): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-select.o):(.text+0x18d): undefined reference to `poll'
\src\WebSocket\lib\libcurl.a(libcurl_la-select.o):(.text+0x197): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-select.o):(.text+0x205): undefined reference to `poll'
\src\WebSocket\lib\libcurl.a(libcurl_la-select.o):(.text+0x31d): undefined reference to `poll'
\src\WebSocket\lib\libcurl.a(libcurl_la-select.o):(.text+0x329): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-nonblock.o):(.text+0x1d): undefined reference to `fcntl'
\src\WebSocket\lib\libcurl.a(libcurl_la-nonblock.o):(.text+0x3e): undefined reference to `fcntl'
\src\WebSocket\lib\libcurl.a(libcurl_la-nonblock.o):(.text+0x5e): undefined reference to `fcntl'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0xf1): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x64b): undefined reference to `sigprocmask'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x6e5): undefined reference to `sigaction'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x722): undefined reference to `sigaction'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x748): undefined reference to `alarm'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x765): undefined reference to `sigprocmask'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x771): undefined reference to `setjmp'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x851): undefined reference to `alarm'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x875): undefined reference to `sigaction'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x888): undefined reference to `alarm'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip.o):(.text+0x8be): undefined reference to `alarm'
\src\WebSocket\lib\libcurl.a(libcurl_la-cookie.o):(.text+0x3fe): undefined reference to `strtok_r'
\src\WebSocket\lib\libcurl.a(libcurl_la-cookie.o):(.text+0x47c): undefined reference to `strtok_r'
\src\WebSocket\lib\libcurl.a(libcurl_la-cookie.o):(.text+0x128e): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-cookie.o):(.text+0x1a4d): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-http.o):(.text+0x155): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-http.o):(.text+0x1a2): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-http.o):(.text+0xc29): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-http.o):(.text+0x11df): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-http.o):(.text+0x163b): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-http.o):(.text+0x17cc): more undefined references to `_imp___ctype_' follow
\src\WebSocket\lib\libcurl.a(libcurl_la-sendf.o):(.text+0x121): undefined reference to `recv'
\src\WebSocket\lib\libcurl.a(libcurl_la-sendf.o):(.text+0x136): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-sendf.o):(.text+0xa07): undefined reference to `recv'
\src\WebSocket\lib\libcurl.a(libcurl_la-sendf.o):(.text+0xa28): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-sendf.o):(.text+0xada): undefined reference to `send'
\src\WebSocket\lib\libcurl.a(libcurl_la-sendf.o):(.text+0xb01): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-url.o):(.text+0x523): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-url.o):(.text+0x2dd8): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-url.o):(.text+0x3bf1): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-url.o):(.text+0x3d19): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-url.o):(.text+0x60b4): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-if2ip.o):(.text+0x67): undefined reference to `socket'
\src\WebSocket\lib\libcurl.a(libcurl_la-if2ip.o):(.text+0xb3): undefined reference to `ioctl'
\src\WebSocket\lib\libcurl.a(libcurl_la-escape.o):(.text+0x19e): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-mprintf.o):(.text+0xb): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-mprintf.o):(.text+0x1667): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-mprintf.o):(.text+0x16f2): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0x18a): undefined reference to `send'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0x1b3): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0x7b7): undefined reference to `send'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0x93f): undefined reference to `send'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0x950): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0x977): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0xc01): undefined reference to `send'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0xc47): undefined reference to `send'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0xc54): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-telnet.o):(.text+0xcc6): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-netrc.o):(.text+0xfb): undefined reference to `strtok_r'
\src\WebSocket\lib\libcurl.a(libcurl_la-netrc.o):(.text+0x394): undefined reference to `geteuid'
\src\WebSocket\lib\libcurl.a(libcurl_la-netrc.o):(.text+0x3c3): undefined reference to `getpwuid_r'
\src\WebSocket\lib\libcurl.a(libcurl_la-http_chunks.o):(.text+0x514): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-http_digest.o):(.text+0x1ac): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-http_digest.o):(.text+0x3b0): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-http_digest.o):(.text+0x56a): undefined reference to `strtok_r'
\src\WebSocket\lib\libcurl.a(libcurl_la-strtoofft.o):(.text+0x68): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-strtoofft.o):(.text+0x23f): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-hostip4.o):(.text+0x84): undefined reference to `gethostbyname'
\src\WebSocket\lib\libcurl.a(libcurl_la-parsedate.o):(.text+0x91): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-parsedate.o):(.text+0xf5): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-parsedate.o):(.text+0xfc): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-parsedate.o):(.text+0x124): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-parsedate.o):(.text+0x12f): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-parsedate.o):(.text+0x2d5): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-parsedate.o):(.text+0x804): undefined reference to `gmtime_r'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x3e4): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x453): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x4ec): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x4f9): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x58f): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x7b2): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x84a): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x928): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x931): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x990): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x9a7): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0xe59): undefined reference to `sendto'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0xe62): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x10e9): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x1306): undefined reference to `recvfrom'
\src\WebSocket\lib\libcurl.a(libcurl_la-tftp.o):(.text+0x1509): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-imap.o):(.text+0x2d): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-smtp.o):(.text+0x2f): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-rtsp.o):(.text+0x10cd): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-rtsp.o):(.text+0x1162): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_gethostname.o):(.text+0x1d): undefined reference to `gethostname'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_sasl.o):(.text+0x545): undefined reference to `strtok_r'
\src\WebSocket\lib\libcurl.a(libcurl_la-file.o):(.text+0xa32): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-formdata.o):(.text+0x1589): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-formdata.o):(.text+0x1599): undefined reference to `_impure_ptr'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0x3c4): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0x5f4): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0xe44): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0xf51): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0xfbf): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0x1233): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0x126c): more undefined references to `__errno' follow
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0x30f5): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftp.o):(.text+0x4a8f): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftplistparser.o):(.text+0x4a5): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftplistparser.o):(.text+0x7f9): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftplistparser.o):(.text+0x85b): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-ftplistparser.o):(.text+0x915): more undefined references to `_imp___ctype_' follow
\src\WebSocket\lib\libcurl.a(libcurl_la-ftplistparser.o):(.text+0x10da): undefined reference to `__errno'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_fnmatch.o):(.text+0xec): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_fnmatch.o):(.text+0x12d): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_fnmatch.o):(.text+0x1e1): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_fnmatch.o):(.text+0x239): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_fnmatch.o):(.text+0x2da): undefined reference to `_imp___ctype_'
\src\WebSocket\lib\libcurl.a(libcurl_la-curl_fnmatch.o):(.text+0x325): more undefined references to `_imp___ctype_' follow
最佳答案
首先,您的 -I
和 -L
选项错误,因为您忘记了选项前的破折号。
那么对于你的问题:在 MinGW 中你没有输入库的全名,链接器将添加扩展名 和 lib
前缀。因此,当您说 -llibcurl
时,链接器将查找 liblibcurl.a
。只需使用 -lcurl
即可。
关于c++ -/Mingw32/bin/ld.exe : cannot find -llibcurl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36004894/
我正在尝试创建尽可能小的 ELF。我创建了一个这样的测试文件(NASM 语法): SECTION .text dd 0xdeadbeef 使用此链接描述文件: SECTIONS { .text
GNU LD 链接器命令语言是否有条件语句? 背景:我正在为 arm cortex m0+ 开发固件,该固件由引导加载程序和应用程序组成。两者都在单独的项目中进行编译和刷新,但我使用了一个框架,其中包
我很确定 ld 有一个手册页链接器脚本语法,但我找不到它。 最佳答案 如果您更喜欢比 info 更方便的东西, 这是一个可浏览的 HTML 版本:ld.info: Scripts .但它可能不是完全最
谁能解决这个练习,这样我就能明白我错在哪里,因为有太多的 LOL 变量。 生成一个 C 代码,将其放在以下表达式之前 printf ("% ld% ld% ld \ n", lol, & lol, *
在他关于理解 Linux Kernel Initcall Mechanism 的文章中, Trevor 创建了一个用户空间程序来模拟调用 linux 驱动程序的 init_module() 的机制。
/usr/bin/ld: cannot find -ldlib /usr/bin/ld: cannot find -lcblas /usr/bin/ld: cannot find -llapack 在
我想以 json-ld 格式创建一组人,但我需要保留一些键而不是使用数组,所以我首先尝试了这个: { "@context" : { "@base" : "http://www.exampl
所以我试图围绕 JSON-LD 进行思考,我看到的所有示例主要包括嵌入“链接数据”。但我想提供对链接数据的引用(主要是因为嵌入所有数据可能会产生 10MB 的有效负载)。所以我想知道我这样做是否正确。
我在这里复制了 json-ld standard 中的示例的一部分: { "@context": { "foaf": "http://xmlns.com/foaf/0.1/", "
考虑这样一个程序: #include void foo() __attribute__((__weak__)); int main() { printf("%p\n", (void *)fo
我正在尝试使用一个名为 GLV 的小部件库对于我正在开发的应用程序。我正在运行 Linux Mint 17。我安装了所有库并成功构建了 GLV 库,但是当我尝试运行已构建的示例之一时,出现了此共享库错
在将未编辑的 JSON 数据转换为 JSON-LD 时,使用前缀和数据值为对象构造 IRI 时遇到问题。我运行的示例代码是: { "@context" : { "prefix" : "
假设我有一个 JSON 对象,它在嵌套对象中包含一些属性。 { "title": "My Blog Post", "meta": { "publishedAt": "2
我是 JSON-LD 和 LOD 的新手,所以请原谅我使用的术语。我正致力于在 JSON-LD 中创建数据模型,以描述基于欧洲数据模型 (http://pro.europeana.eu/edm-doc
我有一个玩具 x86 汇编程序,我正在用 as 编写和编译它和 ld : .text .global _start _start: movq $1, %rax movq
我正在尝试创建 Google 的结构化数据,但不知道我在做什么。我将其设置为一个组织,然后将 SD 标记工具用于我的所有产品。我将每个 JSON-LD 产品直接从标记工具而不是嵌套放入它自己的脚本标签
我正在尝试创建 Google 的结构化数据,但不知道我在做什么。我将其设置为一个组织,然后将 SD 标记工具用于我的所有产品。我将每个 JSON-LD 产品直接从标记工具而不是嵌套放入它自己的脚本标签
我正在尝试使用 vcpkg 和 ndk r20 为 android arm 构建 tesseract我必须编辑 CMakeLists.txt 并添加 glob.c 和 glob.h,因为它们不在 nd
长话短说: 有没有办法让我(没有 root 访问权限)使链接器(由 gcc 调用)不知道 /etc/ld.so.conf 中包含的目录的内容 在通过 ldconfig 缓存之后? 详细说明: 我正在尝
我想将/opt/vertica/lib64 添加到系统库路径中,所以我执行以下步骤: (1) 将/opt/vertica/lib64加入/etc/ld.so.conf,运行ldconfig, (2)
我是一名优秀的程序员,十分优秀!