diff --git a/exports/export.h b/exports/export.h
index eee96b603..527685d80 100644
--- a/exports/export.h
+++ b/exports/export.h
@@ -151,4 +151,16 @@
# define MODEMM17_API
#endif
+/* the 'FT8_API' controls the import/export of 'ft8' symbols
+ */
+#if !defined(sdrangel_STATIC)
+# ifdef ft8_EXPORTS
+# define FT8_API __SDR_EXPORT
+# else
+# define FT8_API __SDR_IMPORT
+# endif
+#else
+# define FT8_API
+#endif
+
#endif /* __SDRANGEL_EXPORT_H */
diff --git a/ft8/CMakeLists.txt b/ft8/CMakeLists.txt
index e58523db8..de077eddd 100644
--- a/ft8/CMakeLists.txt
+++ b/ft8/CMakeLists.txt
@@ -18,12 +18,17 @@ set(ft8_HEADERS
util.h
)
+include_directories(
+ ${CMAKE_SOURCE_DIR}/exports
+)
+
add_library(ft8 SHARED
${ft8_SOURCES}
)
target_link_libraries(ft8
${FFTW3F_LIBRARIES}
+ Qt::Core
)
install(TARGETS ft8 DESTINATION ${INSTALL_LIB_DIR})
diff --git a/ft8/fft.cpp b/ft8/fft.cpp
index d24ae00ca..2cfec06a6 100644
--- a/ft8/fft.cpp
+++ b/ft8/fft.cpp
@@ -19,8 +19,9 @@
// along with this program. If not, see . //
///////////////////////////////////////////////////////////////////////////////////
-#include "fft.h"
#include
+#include
+#include "fft.h"
#include "util.h"
#define TIMING 0
@@ -564,7 +565,7 @@ void FFTEngine::fft_stats()
for (int i = 0; i < nplans; i++)
{
Plan *p = plans[i];
- printf("%-13s %6d %9d %6.3f\n",
+ qDebug("FT8::FFTEngine::fft_stats: %-13s %6d %9d %6.3fn",
p->why_,
p->n_,
p->uses_,
diff --git a/ft8/fft.h b/ft8/fft.h
index 473be626f..67947d2e1 100644
--- a/ft8/fft.h
+++ b/ft8/fft.h
@@ -27,9 +27,11 @@
#include
#include
+#include "export.h"
+
namespace FT8
{
-class FFTEngine
+class FT8_API FFTEngine
{
public:
// a cached fftw plan, for both of:
diff --git a/ft8/ft8.cpp b/ft8/ft8.cpp
index 4e7f1709f..c24f0fbea 100644
--- a/ft8/ft8.cpp
+++ b/ft8/ft8.cpp
@@ -43,6 +43,8 @@
#include
#include
#include