Неразрешенные внешние символы при сборке SDL2_mixer с использованием Visual C ++ - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь собрать SDL2_mixer (2.0.2) с использованием Microsoft Visual C ++ в Visual Studio, похоже, что я его правильно настроил.

Но кажется, что два примера проектов playmus и playwave возвращают ошибки (всего 17 для каждого) в отношении нерешенных внешних символов, касающихся FLAC ( F ree L ossless A udio C odec) и modplug .

Похоже, что я правильно связал их, добавив modplug.lib и libFLAC_static.lib в столбец дополнительных зависимостей компоновщика для обоих примеров проектов.

Я пытался решить эту проблему, потому что очевидно, что если эти два примера проектов потерпят неудачу, то мой проект с использованием SDL2_mixer также потерпит неудачу с этими неразрешенными внешними ошибками символов.

И в итоге я был прав. Это случилось ... когда я использовал это.

Так изящно, есть ли способ избавиться от этих ошибок компоновщика (кажется, что у меня есть , хотя они правильно связали их).

Ошибки здесь (если хотите):

Ошибка LNK2019: неразрешенный внешний символ __imp__ModPlug_Load, указанный в функции _MODPLUG_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_process_until_end_of_stream, указанный в функции _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_process_until_end_of_metadata, на который ссылается функция _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_process_single, на который ссылается функция _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_flush, на который ссылается функция _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_finish, на который ссылается функция _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_init_stream, на который ссылается функция _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_get_state, на который ссылается функция _FLAC_Load Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_delete, указанный в функции _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_new, на который ссылается функция _FLAC_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__ModPlug_SetMasterVolume, указанный в функции _MODPLUG_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__ModPlug_SetSettings, на который ссылается функция _MODPLUG_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__ModPlug_GetSettings, на который ссылается функция _MODPLUG_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__ModPlug_Seek, на который ссылается функция _MODPLUG_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__ModPlug_Read, указанный в функции _MODPLUG_Load Ошибка LNK2019: неразрешенный внешний символ __imp__ModPlug_Unload, на который ссылается функция _MODPLUG_Load

Ошибка LNK2019: неразрешенный внешний символ __imp__FLAC__stream_decoder_seek_absolute, на который ссылается функция _FLAC_Load

Ошибка LNK1120: 17 неразрешенных внешних проблем

Дополнительные зависимости: (которые я добавил, пытаясь беспомощно решить эти ошибки): -

winmm.lib
version.lib
libmpg123-0.lib
modplug.lib
libFLAC_static.lib

Настройки препроцессора: (Внутри SDL2_mixer проекта): - (Я подозреваю, что может как-то связано с этой ошибкой, но все равно выглядит слишком хорошо): -

MUSIC_WAV
MUSIC_MOD_MODPLUG
MUSIC_OGG
MUSIC_FLAC
MUSIC_MP3_MPG123
MUSIC_MID_TIMIDITY
MUSIC_MID_NATIVE

Ошибки почти одинаковы для обоих проектов.

Я взял modplug на GitHub с здесь , так что это не такофициальный.

" И поверьте мне, всегда сложно создать SDL_mixer с нуля. "

Спасибо, что нашли время, чтобы прочитать это.

...