![](/Forum/Images/user.gif)
пишу программу на MFC, которая использует статическую библиотеку, функции библиотеки написаны на С.
линковщик выдает ошибку
![](/Forum/Images/crash.gif)
error LNK2019: unresolved external symbol _x264_reduce_fraction referenced in function "int __cdecl open_file_y4m(char *,void * *,struct x264_param_t *)" (?open_file_y4m@@YAHPADPAPAXPAUx264_param_t@@@Z)
Debug/x264_MFC.exe : fatal error LNK1120: 1 unresolved externals
использование extern "c" и __cdecl не помогает, потоковые модели библиотеки и приложения одинаковы,
если кто знает подскажите плиз
![](/Forum/Images/smile.gif)
среда разработки vs 2003, библиотека поставляется с исходными текстами.
Здравствуйте, Folks, Вы писали:
F>
пишу программу на MFC, которая использует статическую библиотеку, функции библиотеки написаны на С.
F>линковщик выдает ошибку
error LNK2019: unresolved external symbol _x264_reduce_fraction referenced in function "int __cdecl open_file_y4m(char *,void * *,struct x264_param_t *)" (?open_file_y4m@@YAHPADPAPAXPAUx264_param_t@@@Z)
F>Debug/x264_MFC.exe : fatal error LNK1120: 1 unresolved externals
F>использование extern "c" и __cdecl не помогает, потоковые модели библиотеки и приложения одинаковы,
F>если кто знает подскажите плиз
среда разработки vs 2003, библиотека поставляется с исходными текстами.
Попробуй использовать деф файл. И задать в нем имена функций.
Best Regards. Anton.
Здравствуйте, Folks, Вы писали:
F>
пишу программу на MFC, которая использует статическую библиотеку, функции библиотеки написаны на С.
F>линковщик выдает ошибку
error LNK2019: unresolved external symbol _x264_reduce_fraction referenced in function "int __cdecl open_file_y4m(char *,void * *,struct x264_param_t *)" (?open_file_y4m@@YAHPADPAPAXPAUx264_param_t@@@Z)
F>Debug/x264_MFC.exe : fatal error LNK1120: 1 unresolved externals
F>использование extern "c" и __cdecl не помогает, потоковые модели библиотеки и приложения одинаковы,
F>если кто знает подскажите плиз
среда разработки vs 2003, библиотека поставляется с исходными текстами.
extern "С" должен быть в обявлении внешней сишной функции в коде С++.
в таких случаях имеет смысл весь хедер, в котором объявлены функции библиотеки, взять в extern "C" {}.