Hi,
I am converting a vc++ (32bit )application in 64bit application. I am totally new on VC++. Please give me your valuable advice and solution. If you tell me the step of converting of 32bit applicaton to 64bit application then it will be greate help. i got following error while i debuging this:

LNK2001: unresolved external symbol BZ2_bzclose jdefile.obj
LNK2001: unresolved external symbol BZ2_bzopen jdefile.obj
LNK2001: unresolved external symbol BZ2_bzread jdefile.obj
LNK2001: unresolved external symbol BZ2_bzstat64 jdefile.obj
LNK2001: unresolved external symbol BZ2_bzwrite jdefile.obj
LNK2001: unresolved external symbol BZ2_bzgetpos64 jdefile.obj
fatal error LNK1120: 6 unresolved externals


I am adding both jdefile (.h and .cpp) and bzlib.h file that has declaration of these functions

Thanks in advance

Recommended Answers

All 5 Replies

you posted the header file for bzlib.h but where is the source file? That header file is useless if you don't have the source file(s) or library that implement all those functions.

These functions are coded in one dll file libbz2.dll and i am using this dll in my project.

Did you recompile the DLL with that 64-bit compiler and add the *.lib to the project you made (you did make one didn't you???) for idefile.cpp

Ya i compiled in 64 bit and added in Project-> Properties -> Linker -> Input -> Additional Dependencies. I add only dll and i put only dll name like (libbz2.dll). Do i need to give fullpath. I am getting same error.

You are supposed to put the *.lib there, not the *.dll. When you created the DLL the compiler generated both the *.dll and *.lib files. The *.lib is the file your project has to link with, just like it does with all other system libs and DLLs.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.