Я скомпилировал libpng
с использованием 64-битного x86_64-w64-mingw32-gcc-компилятора, и я написал обертку для этого libpng
с использованием visual C++, скомпилированного в 64-битной платформе Windows 7 и использую следующую дополнительную библиотеку для создайте оболочку (например, libpng, libzlib, libgcc). Пока я пытаюсь запустить визуальную оболочку C++, я получил следующую ошибку. пожалуйста, помогите мне решить эту проблему.нерешенный внешний символ mingw_getsp
unresolved external symbol mingw_getsp referenced in function read_png.
unresolved external symbol __strtod refernced in function png_handle_sCAL
моей заголовочный файл, как это
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define PNG_BYTES_TO_CHECK 4
#define OK 0
#define UNSUP_IMG_FMT -1
#define ERROR_FILE_READ -2
#define ERROR_CREATE_PNG_STRUCT -3
#define ERROR_CREATE_INFO_STRUCT -4
#define ERROR_SET_JMP -5
#define UNSUP_DEPTH -6
#define UNSUP_COLOR -7
#define UNSUP_INTRLC -8
#define UNSUP_HEIGHT_WIDTH -9
struct fakefile
{
unsigned char *ptr;
size_t lim;
};
int check_if_png(char*);
int check_if_pngbuffer(unsigned char *);
int read_png(char*,int*,int*,unsigned char**);
int read_pngbuffer(unsigned char*,int ,int*,int*,unsigned char **);
int write_png(char*,int,int,unsigned char*,int);
int write_pngbuffer(unsigned char**,int*,int,int,unsigned char*,int);
#ifdef __cplusplus
}
#endif /* __cplusplus */
еще одна вещь, которую я должен был сделать то же самое для 32 битных окон XP она работает правильно
Сначала я собирал Zlib и создал libzlib. Lib
x86_64-w64-mingw32-gcc -c *.c
x86_64-w64-mingw32-ar rcs libzlib.lib *.o
del *.o
затем я создал Libpng как таким образом
x86_64-w64-mingw32-gcc -I ../zlib -c *.c
x86_64-w64-mingw32-ar rcs libpng.lib *.o
del *.o
Затем я создал pngreadwrite.c & pngreadwrite.h обертку libpngrw.lib
x86_64-w64-mingw32-gcc -I ../zlib -c pngreadwrite.c
x86_64-w64-mingw32-ar rcs libpngrw.lib *.o
del *.o
с помощью следующей библиотеки я попытаюсь создать Visual C++ статическую библиотеку с именем LSpng.lib. и успешно создал статическую библиотеку LSpng. Я получил следующую ошибку при запуске LSpng.lib в 64-битной машине Windows.
“error LNK2019: unresolved external symbol mingw_getsp referenced in function read_png”
“error LNK2001: unresolved external symbol mingw_getsp”
“error LNK2001: unresolved external symbol mingw_getsp”
“error LNK2019: unresolved external symbol __strtod referenced in function png_handle_sCAL”
LSpng.lib(pngreadwrite.o) : error LNK2001: unresolved external symbol mingw_getsp referenced in function read_png
LSpng.lib(pngread.o) : error LNK2001: unresolved external symbol mingw_getsp
LSpng.lib(pngread.o) : error LNK2001: unresolved external symbol mingw_getsp
LSpng.lib(pngrutil.o) : error LNK2019: unresolved external symbol __strtod referenced in function png_handle_sCAL
Вы забыли включить некоторые библиотеки? –
@ bash.d Я включаю библиотеку libgcc. если какой-либо другой библиотеке необходимо загрузить – Siva
, пожалуйста, покажите свой '# include' –