首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在VC++的链接器中去掉__imp__前缀?

如何在VC++的链接器中去掉__imp__前缀?
EN

Stack Overflow用户
提问于 2011-03-02 03:30:42
回答 4查看 51.3K关注 0票数 45

我正在使用libcurl,并且在VC++ 10中得到了以下类型的链接器错误。

代码语言:javascript
复制
1>main.obj : error LNK2019: unresolved external symbol __imp__curl_easy_strerror referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl curl_httpget(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?curl_httpget@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV12@@Z)

怎样才能去掉函数名前面imp前缀?我正在链接到正确的库,正确的路径等。

EN

Stack Overflow用户

回答已采纳

发布于 2011-03-02 03:34:28

只要链接到__imp__,就会出现DLL前缀。当链接到静态链接库时,它不会出现。生成的代码最有可能是针对DLL导入库进行链接的,但您使用的是静态库进行链接。

前缀是在你用__declspec(dllimport)标记导入的函数时添加的-确保你的导入在没有链接到DLL时没有使用这个前缀。

票数 70
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5159353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档