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.