.. index:: single: FAQ; symbol redefinition .. _faq-sym-redefinition: Problems with structure/symbol redefinition in FPGA tasks ========================================================= In C sources (not in C++), Mercurium imports the symbols used by FPGA tasks into the HLS intermediate source codes. Therefore, the usage of ``.fpga`` headers is no longer needed unless some specific cases. If they are used, the result may be duplicated definition of some symbols (in the HLS source and in the included ``.fpga`` header). The solution may be as simple as rename the ``.fpga`` headers into regular ``.h`` files. In C++, the management of the symbols is more complex and the symbols are not automatically imported to HLS source files. Basically, only the functions in the same source file of the FPGA task are imported. So, the usage of ``.fpga.hpp`` headers may be needed.