Что мне нужно использовать / сделать для компиляции dll?
Visual Studio 14+ определяет snprintf
до _snprintf
в stdio.h
.
Решение
1) Запустите VS2019 от имени администратора и затем снова откройте ваш проект
2) , пожалуйста, измените их в stdio.h
файл:
#if defined snprintf
.....
#endif
* от 1024 * до
#if _MSC_VER < 1900
# define snprintf _snprintf
#endif
3) Edit
-> Find and Replace
-> Find in Files
->
Найти что : #\s*define\s+snprintf
Посмотреть : полное решение (включая внешние элементы)
выберите Match case
и Use Regular Expressions
Поэтому, пожалуйста, измените #define snprintf _snprintf
на:
#if _MSC_VER < 1900
# define snprintf _snprintf
#endif
Примечание : измените их в id3tag.c
файле
измените
#ifdef _MSC_VER
#define snprintf _snprintf
#endif
на:
#if _MSC_VER < 1900
# define snprintf _snprintf
#endif
Обновите 1
Проект libmp3lame
является проектом библиотеки классов, и мы не можем напрямую отлаживать проект lib, так как мы должны запустить исполняемый проект (xxx.exe) и затем обратиться к этой библиотеке, после чего мы можем отладить Это. См. эту ссылку .
Я обнаружил, что проект lame
- это исполняемый проект, на который, я думаю, он уже ссылался libmp3lame.lib
, поэтому вы должны сначала изменить его в качестве запускаемого проекта, а затем щелкнуть правой кнопкой мыши по проекту -> свойства -> Linker -> General -> изменить файл вывода на $(OutDir)$(TargetName)$(TargetExt)
.
или создать новый исполняемый проект, а затем ссылаться на libmp3lame.lib
. Как ссылаться на lib вы можете обратиться к this .