Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linking error with twitcurl.lib/obj #40

Open
GoogleCodeExporter opened this issue Mar 15, 2015 · 3 comments
Open

Linking error with twitcurl.lib/obj #40

GoogleCodeExporter opened this issue Mar 15, 2015 · 3 comments

Comments

@GoogleCodeExporter
Copy link

This is related to another similar issue already posted. If you read the other 
post, the recommended repair was to build from a curl source, and create 
libcurl_imp.lib. I did that and I also added all the twitcurl source files to 
my project. However, I still receive the same error. 

1>twitcurl.obj : error LNK2019: unresolved external symbol __imp_curl_easy_init 
referenced in function "public: __cdecl twitCurl::twitCurl(void)" 
(??0twitCurl@@QEAA@XZ)
1>twitcurl.obj : error LNK2019: unresolved external symbol 
__imp_curl_easy_cleanup referenced in function "public: __cdecl 
twitCurl::~twitCurl(void)" (??1twitCurl@@QEAA@XZ)
1>twitcurl.obj : error LNK2019: unresolved external symbol 
__imp_curl_easy_setopt referenced in function "private: void __cdecl 
twitCurl::prepareCurlProxy(void)" (?prepareCurlProxy@twitCurl@@AEAAXXZ)
1>twitcurl.obj : error LNK2019: unresolved external symbol 
__imp_curl_slist_free_all referenced in function "private: bool __cdecl 
twitCurl::performGet(class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" 
(?performGet@twitCurl@@AEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$alloca
tor@D@2@@std@@@Z)
1>twitcurl.obj : error LNK2019: unresolved external symbol 
__imp_curl_easy_perform referenced in function "private: bool __cdecl 
twitCurl::performGet(class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" 
(?performGet@twitCurl@@AEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$alloca
tor@D@2@@std@@@Z)
1>twitcurl.obj : error LNK2019: unresolved external symbol 
__imp_curl_slist_append referenced in function "private: bool __cdecl 
twitCurl::performGet(class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" 
(?performGet@twitCurl@@AEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$alloca
tor@D@2@@std@@@Z)
1>twitcurl.obj : error LNK2019: unresolved external symbol 
__imp_curl_easy_getinfo referenced in function "public: bool __cdecl 
twitCurl::oAuthHandlePIN(class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" 
(?oAuthHandlePIN@twitCurl@@QEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$al
locator@D@2@@std@@@Z)
1>C:\SkeletalBasicsVersions\SkeletonBasics-D2D\x64\Debug\SkeletonBasics-D2D.exe 
: fatal error LNK1120: 7 unresolved externals


I am using Visual Studio 10 Professional. I really need help with this. 
Thanks 

Original issue reported on code.google.com by bie...@student.breckschool.org on 1 Aug 2012 at 4:23

@GoogleCodeExporter
Copy link
Author

The most likely problem is that you do not link to the correct libcurl library 
or you haven't compiled the library correctly for Windows.

Try to find a tutorial on the web on how to create a static library for curl 
for Windows and then link your application to it.

The dynamic link library from twitcurl-read-only/libtwitcurl/lib/libcurl.lib 
doesn't work in Windows?



Original comment by alex.bu...@gmail.com on 13 Sep 2012 at 6:40

@GoogleCodeExporter
Copy link
Author

This happened to me also. I looked up what's there in libcurl_a.lib ( static 
library version.  The symbol names inside are : curl_easy_setopt, 
curl_easy_perform etc.

But the Visual Studio 2010 error message says __imp__curl...

So, probably they couldn't be found due to the decorated name.

Original comment by jongamp...@gmail.com on 30 Jun 2014 at 5:53

@GoogleCodeExporter
Copy link
Author

I solved my case. I used static build of libcurl. Then the decorated names are 
not starting with __imp_. So, using dumpbin, which is from Visual Studio, I 
took a look at symbols in the library. There I could check that the decorated 
name is not like __imp_.
So, by searching one of the troubled function in the curl header file, I 
figured out CURL_STATIC_LIB or something like that should have been used in the 
case of static lib.
Only dll version looks to have those __imp_ prefix.

Original comment by jongamp...@gmail.com on 30 Jun 2014 at 7:37

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant