• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 282
  • Last Modified:

How do I correct unresolved externals errors when link Boost libraries into an Visual Studio unmanaged C++ DLL?


I've got a Microsoft unmanaged 32 bit C++ DLL that I'm trying to build with the Boost libraries.
I'm using Boost 1.55 and verified that I've got the 32 bit version of the libraries.
All the projects modules (along with their references to the Boost entry points) compile successfully.

I'm running into issues with linking.
It seems that all my boost entry points  are showing up as unresolved during the linking process.

For example:
Error	252	error LNK2001: unresolved external symbol "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z)	C:\zzz\fooa.lib(Module1.obj)	SampleDLL
Error	256	error LNK2001: unresolved external symbol "public: __thiscall cv::_InputArray::_InputArray(class cv::Mat const &)" (??0_InputArray@cv@@QAE@ABVMat@1@@Z)	C:\zzzzz\fooa.lib(module2.obj)	SampleDLL

Open in new window

I'm sure that I'm missing either a compiler setting (name wrangling?) or linker switch somewhere.

Can someone help get me pointed in the right direction?

1 Solution
Well, starting with the basics...

1. You need to specify the Boost library file to link with:
Linker/Input/Additional Dependencies - Specify the file name of the Boost library

2. You need to specify the Path of library files:
Linker/General/Additional Library Directories
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now