I am a novice programmer in C++. I want to write a function in the form of a DLL that calls other functions from another DLL. Let's call my DLL , myDLL and the other theDLL. I have the header and the lib file for theDLL. So I have all function prototypes there. I have been able to write a C++ program and call theDLL with no problem. Here is my problem, when I change my project to a DLL instead of EXE, and I change the main() function to something else and I add " extern "C" " before that (I assume that's what I have to do to be able to call my function later). and I create a header file for myDLL and define function prototypes in it. the project compiles and the linker gives me errors like this: error LNK2019: unresolved external symbol _clxio_open referenced in function _openbed .where openbed is my own function and clxio_open is a funtion in theDLL. I dont know what to do know, and I dont know where the " _ " comes from at the beginning of the names. Please help me do this university project. I need to get this myDLL and call it later from MATLAB (I am ok with this part). Please tell me what to do to get myDLL compiled, linked and created successfully. Thanks for reading and for your replies.