gpt4 book ai didi

c++ - g++ libcurl 静态构建在 nghttp2 库上失败

转载 作者:行者123 更新时间:2023-11-30 03:27:22 25 4
gpt4 key购买 nike

我有一个应用程序将 LibCurl 库与我想静态链接的 nghttp2 库结合使用。

我用来构建的构建命令:

i686-w64-mingw32-g++ -Wall Programm.cpp -o Programm.exe -I/opt/mingw64/Win32/include -L/opt/mingw64/Win32/lib -I/Software -I/Software/Deps -std=c++11 -lgcc -lstdc++ -lnghttp2 -lcurl -lssl -lcrypto -DCURL_STATICLIB -lpthread -lws2_32 -static

它产生的构建错误:

/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x47): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x77): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xaf): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x448): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x4ac): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x5d4): more undefined references to `_imp__nghttp2_session_get_stream_user_data' follow
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x6ee): undefined reference to `_imp__nghttp2_session_want_write'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x75e): undefined reference to `_imp__nghttp2_priority_spec_init'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x7e2): undefined reference to `_imp__nghttp2_submit_priority'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x7ef): undefined reference to `_imp__nghttp2_session_send'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x8d3): undefined reference to `_imp__nghttp2_session_del'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x94d): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xb43): undefined reference to `_imp__nghttp2_submit_rst_stream'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xb4e): undefined reference to `_imp__nghttp2_is_fatal'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xb69): undefined reference to `_imp__nghttp2_session_get_remote_settings'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xcdb): undefined reference to `_imp__nghttp2_submit_rst_stream'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xce4): undefined reference to `_imp__nghttp2_is_fatal'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xda8): undefined reference to `_imp__nghttp2_session_set_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xe80): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xeca): undefined reference to `_imp__nghttp2_session_set_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xf6d): undefined reference to `_imp__nghttp2_session_want_read'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xf87): undefined reference to `_imp__nghttp2_session_want_write'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0xfc7): undefined reference to `_imp__nghttp2_session_mem_recv'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x1036): undefined reference to `_imp__nghttp2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x11c5): undefined reference to `_imp__nghttp2_http2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x1298): undefined reference to `_imp__nghttp2_session_resume_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x12ca): undefined reference to `_imp__nghttp2_is_fatal'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x176c): undefined reference to `_imp__nghttp2_submit_request'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x17bb): undefined reference to `_imp__nghttp2_session_send'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x17f9): undefined reference to `_imp__nghttp2_session_resume_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x1d0c): undefined reference to `_imp__nghttp2_session_mem_recv'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x1d19): undefined reference to `_imp__nghttp2_is_fatal'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x1f9e): undefined reference to `_imp__nghttp2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2037): undefined reference to `_imp__nghttp2_session_callbacks_new'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2071): undefined reference to `_imp__nghttp2_session_callbacks_set_send_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2086): undefined reference to `_imp__nghttp2_session_callbacks_set_on_frame_recv_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x209b): undefined reference to `_imp__nghttp2_session_callbacks_set_on_invalid_frame_recv_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x20b0): undefined reference to `_imp__nghttp2_session_callbacks_set_on_data_chunk_recv_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x20c5): undefined reference to `_imp__nghttp2_session_callbacks_set_before_frame_send_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x20da): undefined reference to `_imp__nghttp2_session_callbacks_set_on_frame_send_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x20ef): undefined reference to `_imp__nghttp2_session_callbacks_set_on_frame_not_send_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2104): undefined reference to `_imp__nghttp2_session_callbacks_set_on_stream_close_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2119): undefined reference to `_imp__nghttp2_session_callbacks_set_on_begin_headers_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x212e): undefined reference to `_imp__nghttp2_session_callbacks_set_on_header_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2143): undefined reference to `_imp__nghttp2_session_callbacks_set_error_callback'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x215e): undefined reference to `_imp__nghttp2_session_client_new'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x216d): undefined reference to `_imp__nghttp2_session_callbacks_del'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x21b7): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x21e7): undefined reference to `_imp__nghttp2_session_get_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x22bc): undefined reference to `_imp__nghttp2_version'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x22f2): undefined reference to `_imp__nghttp2_http2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2510): undefined reference to `_imp__nghttp2_session_set_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2555): undefined reference to `_imp__nghttp2_submit_rst_stream'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2631): undefined reference to `_imp__nghttp2_pack_settings_payload'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2751): undefined reference to `_imp__nghttp2_session_resume_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x298c): undefined reference to `_imp__nghttp2_submit_settings'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x29bd): undefined reference to `_imp__nghttp2_session_set_local_window_size'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2a41): undefined reference to `_imp__nghttp2_session_upgrade'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2a54): undefined reference to `_imp__nghttp2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2a85): undefined reference to `_imp__nghttp2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2ab5): undefined reference to `_imp__nghttp2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2afb): undefined reference to `_imp__nghttp2_session_set_stream_user_data'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2b49): undefined reference to `_imp__nghttp2_session_mem_recv'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2b54): undefined reference to `_imp__nghttp2_is_fatal'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2b88): undefined reference to `_imp__nghttp2_strerror'
/opt/mingw64/Win32/lib/libcurl.a(libcurl_la-http2.o):http2.c:(.text+0x2bb5): undefined reference to `_imp__nghttp2_strerror'
collect2: error: ld returned 1 exit status

我已经使用以下命令构建了 nghttp2:

wget https://github.com/nghttp2/nghttp2/releases/download/v1.27.0/nghttp2-1.27.0.tar.gz
tar xf nghttp2-1.27.0.tar.gz
cd nghttp2-1.27.0/
./configure --host=i686-w64-mingw32 --prefix=/opt/mingw64/Win32
make
make install

那么,查看静态链接 LibCurl 与 nghttp2 库的构建命令有什么问题?

最佳答案

来自 issue 的解决方案在 github 上:

./buildconf
CPPFLAGS="-DNGHTTP2_STATICLIB" LDFLAGS="-static" PKG_CONFIG="pkg-config --
static" ./configure --enable-static ......
make curl_LDFLAGS=-all-static V=1
make curl_LDFLAGS=-all-static install V=1

谢谢 Jay .

关于c++ - g++ libcurl 静态构建在 nghttp2 库上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47450601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com