尝试以静态方式链接 libcurl 时出错
Error when trying to linking libcurl in static
我是 C++ 的新手,我在 static 中遇到了关于 linking libcurl 的问题,我下载了源代码并自己构建了它:
./configure && make install
一切正常,我编写了我的 cmake 文件,构建了我的程序并且 运行,它正在工作,所以我尝试 link 静态并且我遇到了很多关于 的错误ssl 和 thread,所以我返回文档,看到我可以在没有 ssl 和 thread ( https://curl.se/docs/install.html ) 的情况下构建,我决定删除以前的安装并使用下一个命令重建:
./configure --without-ssl --disable-thread && make install
在动态 linking 中可以正常工作,但在静态中也有同样的问题...我只是找不到解决问题的方法。
在错误中看到“对 Curl_thread_create 的未定义引用”,但我构建了没有线程的库,并且我包含了所有 Curl headers!我迷路了
这是我工作区的照片picture
感谢您的帮助
如果您 link 您的应用程序使用静态 libcurl.a,您必须 link 您的应用程序与所有其他库 link 使用动态 [=]ed =16=]。您需要使用以下标志构建和 link 您的应用程序:
target_compile_options($(CMAKE_PROJECT_NAME) -pthread)
target_link_libraries($(CMAKE_PROJECT_NAME) curl pthread z)
也许还需要针对问题中未显示的错误的其他标记。
我是 C++ 的新手,我在 static 中遇到了关于 linking libcurl 的问题,我下载了源代码并自己构建了它:
./configure && make install
一切正常,我编写了我的 cmake 文件,构建了我的程序并且 运行,它正在工作,所以我尝试 link 静态并且我遇到了很多关于 的错误ssl 和 thread,所以我返回文档,看到我可以在没有 ssl 和 thread ( https://curl.se/docs/install.html ) 的情况下构建,我决定删除以前的安装并使用下一个命令重建:
./configure --without-ssl --disable-thread && make install
在动态 linking 中可以正常工作,但在静态中也有同样的问题...我只是找不到解决问题的方法。 在错误中看到“对 Curl_thread_create 的未定义引用”,但我构建了没有线程的库,并且我包含了所有 Curl headers!我迷路了
这是我工作区的照片picture
感谢您的帮助
如果您 link 您的应用程序使用静态 libcurl.a,您必须 link 您的应用程序与所有其他库 link 使用动态 [=]ed =16=]。您需要使用以下标志构建和 link 您的应用程序:
target_compile_options($(CMAKE_PROJECT_NAME) -pthread)
target_link_libraries($(CMAKE_PROJECT_NAME) curl pthread z)
也许还需要针对问题中未显示的错误的其他标记。