Я использую autotools в качестве системы сборки моей библиотеки. Недавно библиотека портирована на Windows. Библиотека успешно компилируется и компонуется, хотя я столкнулся со странной ошибкой. Есть только статические библиотеки после configure и make. Все выглядит нормально, кроме предупреждения от libtool
:
libtool: undefined symbols not allowed in i686-pc-mingw32 shared
Я экспортировал все символы для машин Windows по этому коду:
#ifdef _WIN32
# ifdef DLL_EXPORT
# define LIBRARY_API __declspec(dllexport)
# else
# define LIBRARY_API __declspec(dllimport)
# endif
#endif
#ifndef _WIN32
# define LIBRARY_API
#endif
И в каждом отдельном определении у меня есть:
class LIBRARY_API myClass {
// ...
Примечания:
Операционная система: Windows 8 x86_64
Компилятор: MinGW x86_64, MSYS x86