Хелп! В студии установил через NuGet со всеми зависимостями PNGPP, подключил, вроде должно все норм быть, но мне выплевывается дофига ошибок
spoiler
1>c:\users\username\documents\visual studio 2017\projects\imageresizer\packages\pngpp.0.2.7.1\build\native\include\png++\error.hpp(79): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>c:\program files (x86)\windows kits\10\include\10.0.15063.0\ucrt\string.h(181): note: см. объявление "strerror"
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_create_read_struct в функции "public: __thiscall png::reader > >::reader > >(class std::basic_ifstream > &)" (??0?$reader@V?$basic_ifstream@DU?$char_traits@D@std@@@std@@@png@@QAE@AAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@Z)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_set_longjmp_fn в функции "protected: void __thiscall png::io_base::raise_error(void)" (?raise_error@io_base@png@@IAEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_create_info_struct в функции "public: __thiscall png::info_base::info_base(class png::io_base &,struct png_struct_def *)" (??0info_base@png@@QAE@AAVio_base@1@PAUpng_struct_def@@@Z)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_read_info в функции "public: void __thiscall png::info::read(void)" (?read@info@png@@QAEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_set_swap в функции "public: void __thiscall png::io_base::set_swap(void)const " (?set_swap@io_base@png@@QBEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_set_interlace_handling в функции "public: int __thiscall png::io_base::set_interlace_handling(void)const " (?set_interlace_handling@io_base@png@@QBEHXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_read_update_info в функции "public: void __thiscall png::info::update(void)" (?update@info@png@@QAEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_read_row в функции "public: void __thiscall png::reader > >::read_row(unsigned char *)" (?read_row@?$reader@V?$basic_ifstream@DU?$char_traits@D@std@@@std@@@png@@QAEXPAE@Z)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_read_end в функции "public: void __thiscall png::end_info::read(void)" (?read@end_info@png@@QAEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_destroy_read_struct в функции "public: __thiscall png::reader > >::~reader > >(void)" (??1?$reader@V?$basic_ifstream@DU?$char_traits@D@std@@@std@@@png@@QAE@XZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_get_error_ptr в функции "protected: static void __cdecl png::io_base::raise_error(struct png_struct_def *,char const *)" (?raise_error@io_base@png@@KAXPAUpng_struct_def@@PBD@Z)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_set_read_fn в функции "public: __thiscall png::reader > >::reader > >(class std::basic_ifstream > &)" (??0?$reader@V?$basic_ifstream@DU?$char_traits@D@std@@@std@@@png@@QAE@AAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@Z)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_get_io_ptr в функции "private: static void __cdecl png::reader > >::read_data(struct png_struct_def *,unsigned char *,unsigned int)" (?read_data@?$reader@V?$basic_ifstream@DU?$char_traits@D@std@@@std@@@png@@CAXPAUpng_struct_def@@PAEI@Z)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_get_valid в функции "public: void __thiscall png::info::read(void)" (?read@info@png@@QAEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_get_IHDR в функции "public: void __thiscall png::info::read(void)" (?read@info@png@@QAEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_set_IHDR в функции "protected: void __thiscall png::info::sync_ihdr(void)const " (?sync_ihdr@info@png@@IBEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_get_PLTE в функции "public: void __thiscall png::info::read(void)" (?read@info@png@@QAEXXZ)
1> : error LNK2019: ссылка на неразрешенный внешний символ _png_get_tRNS в функции "public: void __thiscall png::info::read(void)" (?read@info@png@@QAEXXZ)
Три часа гугления ваще не помогли, если комменчу эту функцию все норм (единственное место где я работаю с этой библиотекой)
#include <png++/png.hpp>
//...
long double callCheckImageFunc(string sourceImage1, string sourceImage2, int vectorsCount = 20, int fieldCount = 10){
double angle = findVectorsAngle(vectorsCount);
image<rgb_pixel> temporaryImage1(sourceImage1, require_color_space<rgb_pixel>());
image<rgb_pixel> temporaryImage2(sourceImage2, require_color_space<rgb_pixel>());
size_t sourceImage1_Height = temporaryImage1.get_height(); size_t sourceImage1_Width = temporaryImage1.get_width();
size_t sourceImage2_Height = temporaryImage2.get_height(); size_t sourceImage2_Width = temporaryImage2.get_width();
if (sourceImage1_Height != sourceImage2_Height || sourceImage1_Width != sourceImage2_Width){ resizeImages(); }
createBorder();
int fieldCountHalf = fieldCount/2;
long double similarity = 0;
for(size_t x = fieldCountHalf; x < sourceImage1_Height; x++){
for(size_t y = fieldCountHalf; y < sourceImage1_Width; y++){
similarity += checkVector(x, y);
}
}
return similarity / (sourceImage1_Height*sourceImage1_Width);
}
Заранее, Всем огромное спасибо за помощь!