For you to use the compiled code of the OpenFile
function, it will need to exist somewhere.
You seem to have two options:
1) If you want the compiled code to be part of your binary, you will need to include the source file so it can be compiled as part of your project.
2) If you don't want it to be built into your project, and from the sound of it you don't as you say it's "common code that should be shared among different projects", the "Framework project" should compile into a library. In which case you will need to include just the DAL.h header file, and import the "Framework project" library into your project so that your project can link the OpenFile
call to the implementation in the library.