You have named your functions and variables alike. Give them proper names and your compiler error will vanish.

t_func4 is a bad name. Tells nothing. How about function_OpenDevice_t or t_func_OpenDevice?

OpenDevice as variable is a bad name because it's already taken. How about DynamicallyLoadedFunction_OpenDevice?

And your function to excute that DynamicallyLoadedFunction_OpenDevice could be named CallOpenDeviceFromLibrary. That is the only part that needs to go in the header file.