gpt4 book ai didi

C++ Dll 链接 Curl

转载 作者:行者123 更新时间:2023-11-30 02:45:51 24 4
gpt4 key购买 nike

我正在尝试创建一个 dll,它使用 curl 库来实现一个非常简单的功能。一切正常,唯一的问题是 curl 链接似乎无法正常工作。

我使用相同的链接、预处理器定义和包含目录,就像在我的可执行项目中一样,它工作得很好,所以我很确定这与我的链接或库的二进制文件无关。

是否有任何特殊属性可以将库链接到 dll?

我的最小示例代码:

C++ 主文件:

#include "main.h" 
#include <Windows.h>
#include <curlpp/cURLpp.hpp>
#include <curlpp/Easy.hpp>
#include <curlpp/Info.hpp>
#include <curlpp/Options.hpp>
#include <curlpp/Exception.hpp>

namespace CurlDll
{

void CallHost::Try()
{
curlpp::Easy request;
request.setOpt(new curlpp::options::UserAgent("Mozilla/4.0"));
request.setOpt(new curlpp::options::AutoReferer(true));
request.setOpt(new curlpp::options::FollowLocation(true));
request.setOpt(new curlpp::options::Url("http://xml.utrace.de"));
request.perform();
MessageBox(0,"lololowwwwwwwwwwwl", "wqgqwwwwwgq", MB_OK |MB_ICONINFORMATION);
}
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason)
{return 1;}

头文件:

#ifdef MAIN_EXPORTS 
#define MAIN_API __declspec(dllexport)
#else
#define MAIN_API __declspec(dllimport)
#endif
#include <iostream>


namespace CurlDll
{

class CallHost
{
public:
static MAIN_API void Try();
};
}

我收到以下链接错误 @drescherjm(47,我就发几个吧,我觉得应该够了吧)

ERROR 2 error LNK2001: unresolved external Symbol "__imp__WSAStartup@8".

ERROR 11 error LNK2001: unresolved external Symbol "__imp__WSAGetLastError@0".

ERROR 33 error LNK2001: unresolved external Symbol "__imp__setsockopt@20".

最佳答案

链接器错误告诉您链接器找不到这些函数的定义:WSAStartupWSAGetLastErrorsetsockopt。这些函数在导入库 Ws2_32.lib 中定义。您需要将该导入库提供给链接器。

此信息在函数的文档中给出。例如,WSAStartup 的文档.文档主题的底部是一个列出要求的表格。请注意所需的库 Ws2_32.lib

关于C++ Dll 链接 Curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098636/

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