unresolved external symbol while linking to boost statically - c++

I'm trying to build my application and statically linking it to Boost 1.57 but I get 6 linking errors:
>LINK : warning LNK4044: unrecognized option '/static'; ignored
2>ShaderProgram.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category#system#boost##YAABVerror_category#12#XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" (??__Enative_ecat#system#boost##YAXXZ)
2>ShaderProgram.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category#system#boost##YAABVerror_category#12#XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'errno_ecat''(void)" (??__Eerrno_ecat#system#boost##YAXXZ)
2>ShaderProgram.obj : error LNK2019: unresolved external symbol "void __cdecl boost::filesystem::path_traits::convert(char const *,char const *,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class std::codecvt<wchar_t,char,int> const &)" (?convert#path_traits#filesystem#boost##YAXPBD0AAV?$basic_string#_WU?$char_traits#_W#std##V?$allocator#_W#2##std##ABV?$codecvt#_WDH#5##Z) referenced in function "public: __thiscall boost::filesystem::path::path<char const [8]>(char const (&)[8],void *)" (??$?0$$BY07$$CBD#path#filesystem#boost##QAE#AAY07$$CBDPAX#Z)
2>ShaderProgram.obj : error LNK2019: unresolved external symbol "void __cdecl boost::filesystem::path_traits::convert(wchar_t const *,wchar_t const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,class std::codecvt<wchar_t,char,int> const &)" (?convert#path_traits#filesystem#boost##YAXPB_W0AAV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##ABV?$codecvt#_WDH#5##Z) referenced in function "void __cdecl boost::filesystem::path_traits::convert(wchar_t const *,wchar_t const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?convert#path_traits#filesystem#boost##YAXPB_W0AAV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###Z)
2>ShaderProgram.obj : error LNK2019: unresolved external symbol "public: class boost::filesystem::path & __thiscall boost::filesystem::path::operator/=(class boost::filesystem::path const &)" (??_0path#filesystem#boost##QAEAAV012#ABV012##Z) referenced in function "class boost::filesystem::path __cdecl boost::filesystem::operator/(class boost::filesystem::path const &,class boost::filesystem::path const &)" (??Kfilesystem#boost##YA?AVpath#01#ABV201#0#Z)
2>ShaderProgram.obj : error LNK2019: unresolved external symbol "public: static class std::codecvt<wchar_t,char,int> const & __cdecl boost::filesystem::path::codecvt(void)" (?codecvt#path#filesystem#boost##SAABV?$codecvt#_WDH#std##XZ) referenced in function "public: __thiscall boost::filesystem::path::path<char const [8]>(char const (&)[8],void *)" (??$?0$$BY07$$CBD#path#filesystem#boost##QAE#AAY07$$CBDPAX#Z)
2>C:\Users\Structo\Desktop\ReStructo\build-release\src\Release\ReStructo.exe : fatal error LNK1120: 6 unresolved externals
What I did:
I built boost with:
b2 link=static variant=release runtime-link=static
In my Cmake, I have
set(BUILD_SHARED_LIBS OFF)
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-static")
set(Boost_USE_STATIC_RUNTIME ON)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
find_package(Boost REQUIRED COMPONENTS filesystem system)
In Visual Studio 2013
I set solution configuration to Release
Runtime library to Multithreaded
Set the path to the .libs in VC++ Directories->Library path
Any idea how I could fix this?
Thank you very much for your time!

Related

unresolved external symbol - GRPC

I complied c++ grpc file using protoc compiler, so i assume that that references should not give any problem.
I added "grpc\include" , "grpc\src" and "grpc\third_party\protobuf\src\google\protobuf" as include directory.
Interestingly, i'm getting :
error LNK2019: unresolved external symbol "public: __thiscall google::protobuf::internal::LogMessage::LogMessage(enum google::protobuf::LogLevel,char const *,int)" (??0LogMessage#internal#protobuf#google##QAE#W4LogLevel#23#PBDH#Z) referenced in function "int __cdecl google::
error LNK2001: unresolved external symbol "public: virtual bool __thiscall google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw(void const *,int)" (?WriteAliasedRaw#ZeroCopyOutputStream#io#protobuf#google##UAE_NPBXH#Z)
error LNK2019: unresolved external symbol "public: bool __thiscall google::protobuf::MessageLite::ParseFromZeroCopyStream(class google::protobuf::io::ZeroCopyInputStream *)" (?ParseFromZeroCopyStream#MessageLite#protobuf#google##QAE_NPAVZeroCopyInputStream#io#23##Z) referenced in function "class grpc::Status __cdecl grpc::GenericDeserialize<class grpc::ProtoBufferReader,class facialpluginpoc::NoParams>(class grpc::ByteBuffer *,class google::protobuf::MessageLite *)" (??$GenericDeserialize#VProtoBufferReader#grpc##VNoParams#facialpluginpoc###grpc##YA?AVStatus#0#PAVByteBuffer#0#PAVMessageLite#protobuf#google###Z)
error LNK2001: unresolved external symbol "class grpc::CoreCodegenInterface * grpc::g_core_codegen_interface" (?g_core_codegen_interface#grpc##3PAVCoreCodegenInterface#1#A)
error LNK2001: unresolved external symbol "class grpc::GrpcLibraryInterface * grpc::g_glip" (?g_glip#grpc##3PAVGrpcLibraryInterface#1#A)
error LNK2019: unresolved external symbol "void __cdecl google::protobuf::internal::VerifyVersion(int,int,char const *)" (?VerifyVersion#internal#protobuf#google##YAXHHPBD#Z) referenced in function "void __cdecl InitDefaultsscc_info_NoParams_facialpluginpoc_2eproto(void)" (?InitDefaultsscc_info_NoParams_facialpluginpoc_2eproto##YAXXZ)
1>facialpluginpoc.pb.obj : error LNK2019: unresolved external symbol "void __cdecl google::protobuf::internal::OnShutdownRun(void (__cdecl*)(void const *),void const *)" (?OnShutdownRun#internal#protobuf#google##YAXP6AXPBX#Z0#Z) referenced in function "void __cdecl google::protobuf::internal::OnShutdownDestroyMessage(void const *)" (?OnShutdownDestroyMessage#internal#protobuf#google##YAXPBX#Z)
1>facialpluginpoc.pb.obj : error LNK2019: unresolved external symbol "private: __int64 __thiscall google::protobuf::io::CodedInputStream::ReadVarint32Fallback(unsigned int)" (?ReadVarint32Fallback#CodedInputStream#io#protobuf#google##AAE_JI#Z) referenced in function "public: bool __thiscall google::protobuf::io::CodedInputStream::ReadVarint32(unsigned int *)" (?ReadVarint32#CodedInputStream#io#protobuf#google##QAE_NPAI#Z)
1>facialpluginpoc.pb.obj : error LNK2019: unresolved external symbol "private: unsigned int __thiscall google::protobuf::io::CodedInputStream::ReadTagFallback(unsigned int)" (?ReadTagFallback#CodedInputStream#io#protobuf#google##AAEII#Z) referenced in function "public: struct std::pair<unsigned int,bool> __thiscall google::protobuf::io::CodedInputStream::ReadTagWithCutoffNoLastTag(unsigned int)" (?ReadTagWithCutoffNoLastTag#CodedInputStream#io#protobuf#google##QAE?AU?$pair#I_N#std##I#Z)
1>facialpluginpoc.pb.obj : error LNK2019: unresolved external symbol "public: static unsigned char * __cdecl google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned char *)" (?WriteStringWithSizeToArray#CodedOutputStream#io#protobuf#google##SAPAEABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##PAE#Z) referenced in function "public: static unsigned char * __cdecl google::protobuf::internal::WireFormatLite::WriteBytesToArray(int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned char *)" (?WriteBytesToArray#WireFormatLite#internal#protobuf#google##SAPAEHABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##PAE#Z)
1>facialpluginpoc.pb.obj : error LNK2019: unresolved external symbol "public: void * __thiscall google::protobuf::internal::ArenaImpl::AllocateAligned(unsigned int)" (?AllocateAligned#ArenaImpl#internal#protobuf#google##QAEPAXI#Z) referenced in function "private: void * __thiscall google::protobuf::Arena::AllocateInternal<struct google::protobuf::internal::InternalMetadataWithArenaBase<class google::protobuf::UnknownFieldSet,class google::protobuf::internal::InternalMetadataWithArena>::Container>(bool)" (??$AllocateInternal#UContainer#?$InternalMetadataWithArenaBase#VUnknownFieldSet#protobuf#google##VInternalMetadataWithArena#internal#23##internal#protobuf#google###Arena#protobuf#google##AAEPAX_N#Z)
error LNK2019: unresolved external symbol "public: static bool __cdecl google::protobuf::internal::WireFormatLite::ReadBytes(class google::protobuf::io::CodedInputStream *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?ReadBytes#WireFormatLite#internal#protobuf#google##SA_NPAVCodedInputStream#io#34#PAV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###Z) referenced in function "public: virtual bool __thiscall facialpluginpoc::Result::MergePartialFromCodedStream(class google::protobuf::io::CodedInputStream *)" (?MergePartialFromCodedStream#Result#facialpluginpoc##UAE_NPAVCodedInputStream#io#protobuf#google###Z)
I have included all the required header files as project dependency, but still facing this issue.
Is this GRPC library/build/environment issue ? How to resolve this ?
C++ has two stages compiling and linking. From the errors in the post, looks like your includes are good which is not giving any compiler error but all are linker errors. During linking phase, it may be missing "google::protobuf::io" library or lib files.

linking Boost to c++ project

I have a problem while using BOOST libraries ,
I downloaded boost_1_59_0 installer and install it to "C:\local\boost_1_59_0"
then I added the boost variables as following
click here
while including boost in c++ project using qt creator or visual studio , it shows a lot of errors
CGAL example:
#include <iostream>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/convex_hull_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef K::Point_2 Point_2;
int main()
{
Point_2 points[5] = { Point_2(0,0), Point_2(10,0), Point_2(10,10),
Point_2(6,5), Point_2(4,1) };
Point_2 result[5];
Point_2 *ptr = CGAL::convex_hull_2( points, points+5, result );
std::cout << ptr - result << " points on the convex hull" <<
std::endl;
return 0;
}
- in qt-creator , the errors:
here
.pro file :
INCLUDEPATH += C:\local\boost_1_59_0\
C:\dev\CGAL-4.9\include\
C:\dev\CGAL-4.9\auxiliary\gmp\include\
LIBS += C:\dev\CGAL-4.9\auxiliary\gmp\lib\libgmp-10.lib\
C:\local\boost_1_59_0\lib64-msvc-12.0\libboost_thread-vc100-mt-gd-1_51.lib\
C:\local\boost_1_59_0\lib64-msvc-12.0\boost_thread-vc120-mt-1_59.lib\
C:\dev\CGAL-4.9\build\lib\CGAL-vc120-mt-gd-4.9.lib\
- in visual studio , the errors:
1>------ Build started: Project: cgal_test, Configuration: Debug Win32 ------
1>Source.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category#system#boost##YAABVerror_category#12#XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" (??__Enative_ecat#system#boost##YAXXZ)
1>Source.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category#system#boost##YAABVerror_category#12#XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'errno_ecat''(void)" (??__Eerrno_ecat#system#boost##YAXXZ)
1>Source.obj : error LNK2019: unresolved external symbol "void __cdecl boost::detail::set_tss_data(void const *,class boost::shared_ptr<struct boost::detail::tss_cleanup_function>,void *,bool)" (?set_tss_data#detail#boost##YAXPBXV?$shared_ptr#Utss_cleanup_function#detail#boost###2#PAX_N#Z) referenced in function "public: __thiscall boost::thread_specific_ptr<class CGAL::Lazy<class CGAL::Interval_nt<0>,class CGAL::Gmpq,class CGAL::Lazy_exact_nt<class CGAL::Gmpq>,struct CGAL::To_interval<class CGAL::Gmpq> > >::~thread_specific_ptr<class CGAL::Lazy<class CGAL::Interval_nt<0>,class CGAL::Gmpq,class CGAL::Lazy_exact_nt<class CGAL::Gmpq>,struct CGAL::To_interval<class CGAL::Gmpq> > >(void)" (??1?$thread_specific_ptr#V?$Lazy#V?$Interval_nt#$0A##CGAL##VGmpq#2#V?$Lazy_exact_nt#VGmpq#CGAL###2#U?$To_interval#VGmpq#CGAL###2##CGAL###boost##QAE#XZ)
1>Source.obj : error LNK2019: unresolved external symbol "void * __cdecl boost::detail::get_tss_data(void const *)" (?get_tss_data#detail#boost##YAPAXPBX#Z) referenced in function "public: class CGAL::Lazy<class CGAL::Interval_nt<0>,class CGAL::Gmpq,class CGAL::Lazy_exact_nt<class CGAL::Gmpq>,struct CGAL::To_interval<class CGAL::Gmpq> > * __thiscall boost::thread_specific_ptr<class CGAL::Lazy<class CGAL::Interval_nt<0>,class CGAL::Gmpq,class CGAL::Lazy_exact_nt<class CGAL::Gmpq>,struct CGAL::To_interval<class CGAL::Gmpq> > >::get(void)const " (?get#?$thread_specific_ptr#V?$Lazy#V?$Interval_nt#$0A##CGAL##VGmpq#2#V?$Lazy_exact_nt#VGmpq#CGAL###2#U?$To_interval#VGmpq#CGAL###2##CGAL###boost##QBEPAV?$Lazy#V?$Interval_nt#$0A##CGAL##VGmpq#2#V?$Lazy_exact_nt#VGmpq#CGAL###2#U?$To_interval#VGmpq#CGAL###2##CGAL##XZ)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpz_add_ui referenced in function "public: class CGAL::Gmpz & __thiscall CGAL::Gmpz::operator+=(int)" (??YGmpz#CGAL##QAEAAV01#H#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpz_clear referenced in function "public: __thiscall CGAL::Gmpz_rep::~Gmpz_rep(void)" (??1Gmpz_rep#CGAL##QAE#XZ)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpz_init referenced in function "public: __thiscall CGAL::Gmpz::Gmpz(void)" (??0Gmpz#CGAL##QAE#XZ)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpz_init_set_si referenced in function "public: __thiscall CGAL::Gmpz::Gmpz(int)" (??0Gmpz#CGAL##QAE#H#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpz_mul_si referenced in function "public: class CGAL::Gmpz & __thiscall CGAL::Gmpz::operator*=(int)" (??XGmpz#CGAL##QAEAAV01#H#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpz_set referenced in function "public: __thiscall CGAL::Gmpq::Gmpq(class CGAL::Gmpz const &,class CGAL::Gmpz const &)" (??0Gmpq#CGAL##QAE#ABVGmpz#1#0#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpz_sub_ui referenced in function "public: class CGAL::Gmpz & __thiscall CGAL::Gmpz::operator+=(int)" (??YGmpz#CGAL##QAEAAV01#H#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_add referenced in function "class CGAL::Gmpq __cdecl CGAL::operator+(class CGAL::Gmpq const &,class CGAL::Gmpq const &)" (??HCGAL##YA?AVGmpq#0#ABV10#0#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_canonicalize referenced in function "public: __thiscall CGAL::Gmpq::Gmpq(class CGAL::Gmpz const &,class CGAL::Gmpz const &)" (??0Gmpq#CGAL##QAE#ABVGmpz#1#0#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_clear referenced in function "public: __thiscall CGAL::Gmpq_rep::~Gmpq_rep(void)" (??1Gmpq_rep#CGAL##QAE#XZ)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_cmp referenced in function "public: bool __thiscall CGAL::Gmpq::operator<(class CGAL::Gmpq const &)const " (??MGmpq#CGAL##QBE_NABV01##Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_equal referenced in function "public: bool __thiscall CGAL::Gmpq::operator==(class CGAL::Gmpq const &)const " (??8Gmpq#CGAL##QBE_NABV01##Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_init referenced in function "public: __thiscall CGAL::Gmpq_rep::Gmpq_rep(void)" (??0Gmpq_rep#CGAL##QAE#XZ)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_mul referenced in function "class CGAL::Gmpq __cdecl CGAL::operator*(class CGAL::Gmpq const &,class CGAL::Gmpq const &)" (??DCGAL##YA?AVGmpq#0#ABV10#0#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_set_si referenced in function "public: __thiscall CGAL::Gmpq::Gmpq(int)" (??0Gmpq#CGAL##QAE#H#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp____gmpq_sub referenced in function "class CGAL::Gmpq __cdecl CGAL::operator-(class CGAL::Gmpq const &,class CGAL::Gmpq const &)" (??GCGAL##YA?AVGmpq#0#ABV10#0#Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp__mpfr_init2 referenced in function "public: struct std::pair<double,double> __thiscall CGAL::Real_embeddable_traits<class CGAL::Gmpq>::To_interval::operator()(class CGAL::Gmpq const &)const " (??RTo_interval#?$Real_embeddable_traits#VGmpq#CGAL###CGAL##QBE?AU?$pair#NN#std##ABVGmpq#2##Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp__mpfr_clear referenced in function "public: struct std::pair<double,double> __thiscall CGAL::Real_embeddable_traits<class CGAL::Gmpq>::To_interval::operator()(class CGAL::Gmpq const &)const " (??RTo_interval#?$Real_embeddable_traits#VGmpq#CGAL###CGAL##QBE?AU?$pair#NN#std##ABVGmpq#2##Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp__mpfr_set_q referenced in function "public: struct std::pair<double,double> __thiscall CGAL::Real_embeddable_traits<class CGAL::Gmpq>::To_interval::operator()(class CGAL::Gmpq const &)const " (??RTo_interval#?$Real_embeddable_traits#VGmpq#CGAL###CGAL##QBE?AU?$pair#NN#std##ABVGmpq#2##Z)
1>Source.obj : error LNK2019: unresolved external symbol __imp__mpfr_get_d referenced in function "public: struct std::pair<double,double> __thiscall CGAL::Real_embeddable_traits<class CGAL::Gmpq>::To_interval::operator()(class CGAL::Gmpq const &)const " (??RTo_interval#?$Real_embeddable_traits#VGmpq#CGAL###CGAL##QBE?AU?$pair#NN#std##ABVGmpq#2##Z)
1>E:\os\cgal_test\Debug\cgal_test.exe : fatal error LNK1120: 24 unresolved externals
project configuration :
here
I appreciate any help , thanks
You need to provide the linker with the boost libraries. In the linker properties in visual studio, add the correct directory to "Additional Library Directories".
Unresolved external means that you have a declaration of some function or variable, but the linker cannot find the definition. This usually happens when using 3rd party libraries which provide you with the interface as header files, but not with the actual code which is compiled as library files.

link is failing on xlnt.test project with 10 unresoved extrenals :

Build started: Project: xlnt.test, Configuration: Release x64
...
runner-autogen.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl xml::qname::~qname(void)" (__imp_??1qname#xml##QEAA#XZ) referenced in function "int public: __cdecl std::pair<class xml::qname const ,struct xml::parser::attribute_value_type>::pair<class xml::qname const ,struct xml::parser::attribute_value_type>(struct pair<class xml::qname const ,struct xml::parser::attribute_value_type>::dtor$0 const &)'::1'::dtor$0" (?dtor$0#?0???0?$pair#$$CBVqname#xml##Uattribute_value_type#parser#2##std##QEAA#AEBU01##Z#4HA)
4> 1>
4>runner-autogen.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl xml::qname::qname(class xml::qname const &)" (__imp_??0qname#xml##QEAA#AEBV01##Z) referenced in function "public: __cdecl std::pair::pair(struct std::pair const &)" (??0?$pair#$$CBVqname#xml##Uattribute_value_type#parser#2##std##QEAA#AEBU01##Z)
4> 1>
4>runner-autogen.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl xml::parser::parser(void const *,unsigned __int64,class std::basic_string,class std::allocator > const &,unsigned short)" (__imp_??0parser#xml##QEAA#PEBX_KAEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##G#Z) referenced in function "public: static bool __cdecl xml_helper::compare_xml_exact(class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > const &,bool)" (?compare_xml_exact#xml_helper##SA_NAEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##0_N#Z)
4> 1>
I ended up building libstudxml-1.0.1 (http://www.codesynthesis.com/projects/libstudxml/ ) and linking xlnt.test with that library resolves the undefined symbol issue.
Also note that on my system xlnt does not link successfully with libstudxml-1.0.1 and it has to be linked with xlnt-master\third-party\libstudxml...\libstudxml.lib

SDL2 and SDL_opengl_glext.h undefined external

I'm running across problems when trying to move away from gl3w in my SDL2 project. The reason I'm considering this is simply because I noticed my version of gl3w doesn't include "glAlphaFunc" but SDL_opengl_glext.h does.
It seems I need to define the following:
#define GL_GLEXT_PROTOTYPES
#define GLX_GLEXT_PROTOTYPES
So after I noticed SDL_opengl_glext.h exists I figured maybe I could simply include SDL_opengl.h and SDL_opengl_glext.h (as I do on iOS: SDL_opengl.h and SDL_opengles.h), but now I'm getting issues with undefined externals.
The lib files I'm currently referencing:
opengl32.lib;glu32.lib;SDL2.lib;SDL2main.lib;SDL2test.lib;SDL2_image.lib;SDL2_ttf.lib;SDL2_mixer.lib;libboost_filesystem-vc140-mt-1_58.lib;libboost_system-vc140-mt-1_58.lib;libpq.lib;ssleay32.lib;libeay32.lib;%(AdditionalDependencies)
My question is: With SDL2 can I link any other lib files to fix this issue, how do I correctly use SDL_opengl_glext.h? I don't see any clear documentation on this issue in particular.
Error Spew:
1>emitter.obj : error LNK2019: unresolved external symbol __imp_glBindBuffer referenced in function "protected: virtual void __cdecl MV::Scene::Emitter::defaultDrawImplementation(void)" (?defaultDrawImplementation#Emitter#Scene#MV##MEAAXXZ)
1>drawable.obj : error LNK2001: unresolved external symbol __imp_glBindBuffer
1>spineMV.obj : error LNK2001: unresolved external symbol __imp_glBindBuffer
1>emitter.obj : error LNK2019: unresolved external symbol __imp_glGenBuffers referenced in function "protected: virtual void __cdecl MV::Scene::Emitter::defaultDrawImplementation(void)" (?defaultDrawImplementation#Emitter#Scene#MV##MEAAXXZ)
1>drawable.obj : error LNK2001: unresolved external symbol __imp_glGenBuffers
1>spineMV.obj : error LNK2001: unresolved external symbol __imp_glGenBuffers
1>emitter.obj : error LNK2019: unresolved external symbol __imp_glBufferData referenced in function "protected: virtual void __cdecl MV::Scene::Emitter::defaultDrawImplementation(void)" (?defaultDrawImplementation#Emitter#Scene#MV##MEAAXXZ)
1>drawable.obj : error LNK2001: unresolved external symbol __imp_glBufferData
1>spineMV.obj : error LNK2001: unresolved external symbol __imp_glBufferData
1>emitter.obj : error LNK2019: unresolved external symbol __imp_glDisableVertexAttribArray referenced in function "protected: virtual void __cdecl MV::Scene::Emitter::defaultDrawImplementation(void)" (?defaultDrawImplementation#Emitter#Scene#MV##MEAAXXZ)
1>drawable.obj : error LNK2001: unresolved external symbol __imp_glDisableVertexAttribArray
1>spineMV.obj : error LNK2001: unresolved external symbol __imp_glDisableVertexAttribArray
1>emitter.obj : error LNK2019: unresolved external symbol __imp_glEnableVertexAttribArray referenced in function "protected: virtual void __cdecl MV::Scene::Emitter::defaultDrawImplementation(void)" (?defaultDrawImplementation#Emitter#Scene#MV##MEAAXXZ)
1>drawable.obj : error LNK2001: unresolved external symbol __imp_glEnableVertexAttribArray
1>spineMV.obj : error LNK2001: unresolved external symbol __imp_glEnableVertexAttribArray
1>emitter.obj : error LNK2019: unresolved external symbol __imp_glUseProgram referenced in function "protected: virtual void __cdecl MV::Scene::Emitter::defaultDrawImplementation(void)" (?defaultDrawImplementation#Emitter#Scene#MV##MEAAXXZ)
1>drawable.obj : error LNK2001: unresolved external symbol __imp_glUseProgram
1>spineMV.obj : error LNK2001: unresolved external symbol __imp_glUseProgram
1>emitter.obj : error LNK2019: unresolved external symbol __imp_glVertexAttribPointer referenced in function "protected: virtual void __cdecl MV::Scene::Emitter::defaultDrawImplementation(void)" (?defaultDrawImplementation#Emitter#Scene#MV##MEAAXXZ)
1>drawable.obj : error LNK2001: unresolved external symbol __imp_glVertexAttribPointer
1>spineMV.obj : error LNK2001: unresolved external symbol __imp_glVertexAttribPointer
1>render.obj : error LNK2019: unresolved external symbol __imp_glActiveTexture referenced in function "public: void __cdecl MV::Shader::set(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::shared_ptr<class MV::TextureDefinition> const &,unsigned int)" (?set#Shader#MV##QEAAXV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##AEBV?$shared_ptr#VTextureDefinition#MV###4#I#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glBlendFuncSeparate referenced in function "public: void __cdecl MV::Draw2D::defaultBlendFunction(void)" (?defaultBlendFunction#Draw2D#MV##QEAAXXZ)
1>render.obj : error LNK2019: unresolved external symbol __imp_glBlendEquationSeparate referenced in function "public: void __cdecl MV::glExtensionBlendMode::setBlendEquation(unsigned int,unsigned int)" (?setBlendEquation#glExtensionBlendMode#MV##QEAAXII#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glAttachShader referenced in function "public: class MV::Shader * __cdecl MV::Draw2D::loadShaderCode(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadShaderCode#Draw2D#MV##QEAAPEAVShader#2#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##00#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glCompileShader referenced in function "private: void __cdecl MV::Draw2D::loadPartOfShader(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadPartOfShader#Draw2D#MV##AEAAXIAEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glCreateProgram referenced in function "public: class MV::Shader * __cdecl MV::Draw2D::loadShaderCode(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadShaderCode#Draw2D#MV##QEAAPEAVShader#2#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##00#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glCreateShader referenced in function "public: class MV::Shader * __cdecl MV::Draw2D::loadShaderCode(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadShaderCode#Draw2D#MV##QEAAPEAVShader#2#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##00#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glGetActiveUniform referenced in function "public: __cdecl MV::Shader::Shader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,bool)" (??0Shader#MV##QEAA#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##I_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glGetProgramiv referenced in function "public: __cdecl MV::Shader::Shader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,bool)" (??0Shader#MV##QEAA#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##I_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glGetShaderiv referenced in function "private: void __cdecl MV::Draw2D::validateShaderStatus(unsigned int,bool)" (?validateShaderStatus#Draw2D#MV##AEAAXI_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glGetShaderInfoLog referenced in function "private: void __cdecl MV::Draw2D::validateShaderStatus(unsigned int,bool)" (?validateShaderStatus#Draw2D#MV##AEAAXI_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glGetUniformLocation referenced in function "public: __cdecl MV::Shader::Shader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,bool)" (??0Shader#MV##QEAA#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##I_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glIsProgram referenced in function "public: __cdecl MV::Shader::Shader(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,bool)" (??0Shader#MV##QEAA#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##I_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glLinkProgram referenced in function "public: class MV::Shader * __cdecl MV::Draw2D::loadShaderCode(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadShaderCode#Draw2D#MV##QEAAPEAVShader#2#AEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##00#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glShaderSource referenced in function "private: void __cdecl MV::Draw2D::loadPartOfShader(unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadPartOfShader#Draw2D#MV##AEAAXIAEBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glUniform1i referenced in function "public: void __cdecl MV::Shader::set(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::shared_ptr<class MV::TextureDefinition> const &,unsigned int)" (?set#Shader#MV##QEAAXV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##AEBV?$shared_ptr#VTextureDefinition#MV###4#I#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glUniform1fv referenced in function "public: void __cdecl MV::Shader::set(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,float)" (?set#Shader#MV##QEAAXV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##M#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glUniformMatrix4fv referenced in function "public: void __cdecl MV::Shader::set(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class MV::TransformMatrix const &)" (?set#Shader#MV##QEAAXV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##AEBVTransformMatrix#2##Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glBindRenderbuffer referenced in function "public: void __cdecl MV::glExtensionFramebufferObject::startUsingFramebuffer(class std::weak_ptr<class MV::Framebuffer>,bool)" (?startUsingFramebuffer#glExtensionFramebufferObject#MV##QEAAXV?$weak_ptr#VFramebuffer#MV###std##_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glDeleteRenderbuffers referenced in function "public: __cdecl MV::Framebuffer::~Framebuffer(void)" (??1Framebuffer#MV##QEAA#XZ)
1>render.obj : error LNK2019: unresolved external symbol __imp_glGenRenderbuffers referenced in function "public: class std::shared_ptr<class MV::Framebuffer> __cdecl MV::glExtensionFramebufferObject::makeFramebuffer(class MV::Point<int> const &,class MV::Size<int> const &,unsigned int,class MV::Color const &)" (?makeFramebuffer#glExtensionFramebufferObject#MV##QEAA?AV?$shared_ptr#VFramebuffer#MV###std##AEBV?$Point#H#2#AEBV?$Size#H#2#IAEBVColor#2##Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glRenderbufferStorage referenced in function "public: void __cdecl MV::glExtensionFramebufferObject::startUsingFramebuffer(class std::weak_ptr<class MV::Framebuffer>,bool)" (?startUsingFramebuffer#glExtensionFramebufferObject#MV##QEAAXV?$weak_ptr#VFramebuffer#MV###std##_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glBindFramebuffer referenced in function "public: void __cdecl MV::glExtensionFramebufferObject::startUsingFramebuffer(class std::weak_ptr<class MV::Framebuffer>,bool)" (?startUsingFramebuffer#glExtensionFramebufferObject#MV##QEAAXV?$weak_ptr#VFramebuffer#MV###std##_N#Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glDeleteFramebuffers referenced in function "public: __cdecl MV::Framebuffer::~Framebuffer(void)" (??1Framebuffer#MV##QEAA#XZ)
1>render.obj : error LNK2019: unresolved external symbol __imp_glGenFramebuffers referenced in function "public: class std::shared_ptr<class MV::Framebuffer> __cdecl MV::glExtensionFramebufferObject::makeFramebuffer(class MV::Point<int> const &,class MV::Size<int> const &,unsigned int,class MV::Color const &)" (?makeFramebuffer#glExtensionFramebufferObject#MV##QEAA?AV?$shared_ptr#VFramebuffer#MV###std##AEBV?$Point#H#2#AEBV?$Size#H#2#IAEBVColor#2##Z)
1>render.obj : error LNK2019: unresolved external symbol __imp_glFramebufferTexture2D referenced in function "public: void __cdecl MV::glExtensionFramebufferObject::startUsingFramebuffer(class std::weak_ptr<class MV::Framebuffer>,bool)" (?startUsingFramebuffer#glExtensionFramebufferObject#MV##QEAAXV?$weak_ptr#VFramebuffer#MV###std##_N#Z)
1>C:\git\MoonDog\x64\Release\M2tMLibrary.exe : fatal error LNK1120: 33 unresolved externals
This is not how you use OpenGL extensions. You need to load extension functions at run time with SDL_GL_GetProcAddress or use any of existing opengl loaders.
If you only need this one function you can define its prototype yourself or load it at runtime. Note that newer GL vesions deprecated AlphaFunc (which is the reason why gl3w don't have it - as it targets GL 3 or higher), so you cannot use it if you target these versions.
What is an undefined reference / unresolved external symbol error and how do I fix it?
You need to link to SDL2main.lib
Then to SDL2.lib
Then any other SDL libraries.
Make sure you're linking to a binary that's fine by your compiler, and of the right architecture.
If all else fails, compile SDL yourself.

Library linking in Visual Studio Professional 2010

I'm writing a C++ program using Chilkat library. I've linked the whole library to the project as follows:
project > properties > C/C++ > General > Additional Include Directories > C:\chilkat\include (That's where I have the library)
AND
project > properties > Linker > Input > Additional Dependencies > ... C:\chilkat\libs\ChilkatDbgDll.lib; ...
Chilkat library came with 4 kinds of .lib files, each for different kinds of runtime, so I used the .lib which best suited my project (Multi-Threaded Debug DLL).
The damn thing still gives me this:
1>------ Build started: Project: botnet, Configuration: Debug Win32 ------
1>Build started 28.08.2013 20:47:29.
1>InitializeBuildStatus:
1> Touching "Debug\botnet.unsuccessfulbuild".
1>ClCompile:
1> botnet.cpp
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__getsockopt#20 referenced in function "public: void __thiscall ChilkatSocket::logSocketOptions(class LogBase &)" (?logSocketOptions#ChilkatSocket##QAEXAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__setsockopt#20 referenced in function "private: void __thiscall ChilkatSocket::checkSetBufSizes(class LogBase &)" (?checkSetBufSizes#ChilkatSocket##AAEXAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__accept#12 referenced in function "private: bool __thiscall ChilkatSocket::acceptNextConnection2(class ChilkatSocket &,bool,unsigned int,class LogBase &,bool &)" (?acceptNextConnection2#ChilkatSocket##AAE_NAAV1#_NIAAVLogBase##AA_N#Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__ioctlsocket#12 referenced in function "public: void __thiscall ChilkatSocket::setNonBlocking(void)" (?setNonBlocking#ChilkatSocket##QAEXXZ)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__WSAGetLastError#0 referenced in function "private: bool __thiscall ChilkatSocket::createSocket_ipv4(class LogBase &,bool)" (?createSocket_ipv4#ChilkatSocket##AAE_NAAVLogBase##_N#Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__socket#12 referenced in function "private: bool __thiscall ChilkatSocket::createSocket_ipv4(class LogBase &,bool)" (?createSocket_ipv4#ChilkatSocket##AAE_NAAVLogBase##_N#Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__WSAStartup#8 referenced in function "bool __cdecl startupWSA(class LogBase &)" (?startupWSA##YA_NAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__ntohs#4 referenced in function "private: bool __thiscall ChilkatSocket::ck_getsockname_ipv4(class chilkat::StringBuffer &,int &,class LogBase &)" (?ck_getsockname_ipv4#ChilkatSocket##AAE_NAAVStringBuffer#chilkat##AAHAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__inet_ntoa#4 referenced in function "private: bool __thiscall ChilkatSocket::ck_getsockname_ipv4(class chilkat::StringBuffer &,int &,class LogBase &)" (?ck_getsockname_ipv4#ChilkatSocket##AAE_NAAVStringBuffer#chilkat##AAHAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__getsockname#12 referenced in function "private: bool __thiscall ChilkatSocket::ck_getsockname_ipv4(class chilkat::StringBuffer &,int &,class LogBase &)" (?ck_getsockname_ipv4#ChilkatSocket##AAE_NAAVStringBuffer#chilkat##AAHAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__gethostbyname#4 referenced in function "struct hostent * __cdecl ck_gethostbyname(char const *,class LogBase &)" (?ck_gethostbyname##YAPAUhostent##PBDAAVLogBase###Z)
1>ChilkatDbgDll.lib(HostnameResolve.obj) : error LNK2001: unresolved external symbol __imp__gethostbyname#4
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__getpeername#12 referenced in function "public: bool __thiscall ChilkatSocket::GetPeerName(class chilkat::StringBuffer &,int &)" (?GetPeerName#ChilkatSocket##QAE_NAAVStringBuffer#chilkat##AAH#Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__inet_addr#4 referenced in function "public: static bool __cdecl ChilkatSocket::isDottedIpAddress(char const *)" (?isDottedIpAddress#ChilkatSocket##SA_NPBD#Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__htons#4 referenced in function "public: static bool __cdecl ChilkatSocket::isDottedIpAddress(char const *)" (?isDottedIpAddress#ChilkatSocket##SA_NPBD#Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__connect#12 referenced in function "private: bool __thiscall ChilkatSocket::connectSocket2_ipv4(char const *,int,unsigned int,class LogBase &,class ProgressMonitor *,bool &)" (?connectSocket2_ipv4#ChilkatSocket##AAE_NPBDHIAAVLogBase##PAVProgressMonitor##AA_N#Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__select#20 referenced in function "public: bool __thiscall ChilkatSocket::waitWriteable2(unsigned int,class LogBase &)" (?waitWriteable2#ChilkatSocket##QAE_NIAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol ___WSAFDIsSet#8 referenced in function "public: bool __thiscall ChilkatSocket::waitWriteableMs2(unsigned int,bool,class SocketParams &,class LogBase &)" (?waitWriteableMs2#ChilkatSocket##QAE_NI_NAAVSocketParams##AAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__bind#12 referenced in function "private: bool __thiscall ChilkatSocket::bindSysCall2(void *,int,class LogBase &)" (?bindSysCall2#ChilkatSocket##AAE_NPAXHAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__listen#8 referenced in function "public: bool __thiscall ChilkatSocket::listenOnPort(int &,int,bool,class LogBase &)" (?listenOnPort#ChilkatSocket##QAE_NAAHH_NAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__gethostname#8 referenced in function "private: static bool __cdecl ChilkatSocket::getLocalHostName_inner(class chilkat::StringBuffer &,class LogBase &)" (?getLocalHostName_inner#ChilkatSocket##CA_NAAVStringBuffer#chilkat##AAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__closesocket#4 referenced in function "public: bool __thiscall ChilkatSocket::NewSocketAndListen(bool,class LogBase &)" (?NewSocketAndListen#ChilkatSocket##QAE_N_NAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__shutdown#8 referenced in function "public: bool __thiscall ChilkatSocket::NewSocketAndListen(bool,class LogBase &)" (?NewSocketAndListen#ChilkatSocket##QAE_N_NAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__recv#16 referenced in function "public: bool __thiscall ChilkatSocket::IsConnected(class LogBase &)" (?IsConnected#ChilkatSocket##QAE_NAAVLogBase###Z)
1>ChilkatDbgDll.lib(ChilkatSocket.obj) : error LNK2019: unresolved external symbol __imp__send#16 referenced in function "public: bool __thiscall ChilkatSocket::SendBytes2(unsigned char const *,unsigned int,unsigned int,unsigned int,class LogBase &,class SocketParams &)" (?SendBytes2#ChilkatSocket##QAE_NPBEIIIAAVLogBase##AAVSocketParams###Z)
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertVerifyRevocation#28 referenced in function "public: int __thiscall MsCertificate::checkRevoked(class LogBase &)" (?checkRevoked#MsCertificate##QAEHAAVLogBase###Z)
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertFreeCertificateContext#4 referenced in function "public: void __thiscall MsCertificate::dotNetDispose(void)" (?dotNetDispose#MsCertificate##QAEXXZ)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2001: unresolved external symbol __imp__CertFreeCertificateContext#4
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2001: unresolved external symbol __imp__CertFreeCertificateContext#4
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertNameToStrW#20 referenced in function "void __cdecl _getCertNameStr(struct _CRYPTOAPI_BLOB *,unsigned long,class XString &)" (?_getCertNameStr##YAXPAU_CRYPTOAPI_BLOB##KAAVXString###Z)
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertDuplicateCertificateContext#4 referenced in function "public: __thiscall MsCertificate::MsCertificate(struct _CERT_CONTEXT const *,bool,class LogBase &)" (??0MsCertificate##QAE#PBU_CERT_CONTEXT##_NAAVLogBase###Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2001: unresolved external symbol __imp__CertDuplicateCertificateContext#4
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertSetCertificateContextProperty#16 referenced in function "public: bool __thiscall MsCertificate::linkPrivateKey(class XString &,bool,bool,class LogBase &)" (?linkPrivateKey#MsCertificate##QAE_NAAVXString##_N1AAVLogBase###Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2001: unresolved external symbol __imp__CertSetCertificateContextProperty#16
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CryptDecodeObject#28 referenced in function "public: static void __cdecl MsCertificate::getRfc822NameFromContext(struct _CERT_CONTEXT const *,class XString &)" (?getRfc822NameFromContext#MsCertificate##SAXPBU_CERT_CONTEXT##AAVXString###Z)
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertGetIntendedKeyUsage#16 referenced in function "public: unsigned int __thiscall MsCertificate::getIntendedKeyUsage(void)" (?getIntendedKeyUsage#MsCertificate##QAEIXZ)
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertGetCertificateContextProperty#16 referenced in function "private: bool __thiscall MsCertificate::getKeyProviderInfo(int,class LogBase &)" (?getKeyProviderInfo#MsCertificate##AAE_NHAAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2001: unresolved external symbol __imp__CertGetCertificateContextProperty#16
1>ChilkatDbgDll.lib(MsCertificate.obj) : error LNK2019: unresolved external symbol __imp__CertCreateCertificateContext#12 referenced in function "public: static class MsCertificate * __cdecl MsCertificate::createFromDer(unsigned char const *,unsigned int,class LogBase &)" (?createFromDer#MsCertificate##SAPAV1#PBEIAAVLogBase###Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertDuplicateStore#4 referenced in function "public: class CertificateStore * __thiscall CertificateStore::dupStore(class LogBase *)" (?dupStore#CertificateStore##QAEPAV1#PAVLogBase###Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertEnumCertificatesInStore#8 referenced in function "private: void __thiscall CertificateStore::deleteKeyContainers(void)" (?deleteKeyContainers#CertificateStore##AAEXXZ)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertCloseStore#8 referenced in function "public: void __thiscall CertificateStore::dotNetDispose(void)" (?dotNetDispose#CertificateStore##QAEXXZ)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2001: unresolved external symbol __imp__CertCloseStore#8
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertOpenStore#20 referenced in function "public: static class CertificateStore * __cdecl CertificateStore::createMemoryStore(class LogBase *)" (?createMemoryStore#CertificateStore##SAPAV1#PAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2001: unresolved external symbol __imp__CertOpenStore#20
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertFindCertificateInStore#24 referenced in function "public: class MsCertificate * __thiscall CertificateStore::findIssuer(class MsCertificate &,class LogBase &,bool)" (?findIssuer#CertificateStore##QAEPAVMsCertificate##AAV2#AAVLogBase##_N#Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertAddEncodedCertificateToStore#24 referenced in function "public: bool __thiscall CertificateStore::addEncodedCertificateUtf8(char const *,class LogBase &)" (?addEncodedCertificateUtf8#CertificateStore##QAE_NPBDAAVLogBase###Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertAddCertificateContextToStore#16 referenced in function "public: bool __thiscall CertificateStore::addCertWithPrivateKey(class MsCertificate &,class XString &,bool,class LogBase &,bool)" (?addCertWithPrivateKey#CertificateStore##QAE_NAAVMsCertificate##AAVXString##_NAAVLogBase##2#Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertSaveStore#24 referenced in function "private: bool __thiscall CertificateStore::saveCertStore(class LogBase &)" (?saveCertStore#CertificateStore##AAE_NAAVLogBase###Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertDeleteCertificateFromStore#4 referenced in function "public: bool __thiscall CertificateStore::removeCertificate(class MsCertificate *,class LogBase &)" (?removeCertificate#CertificateStore##QAE_NPAVMsCertificate##AAVLogBase###Z)
1>ChilkatDbgDll.lib(CertificateStore.obj) : error LNK2019: unresolved external symbol __imp__CertGetSubjectCertificateFromStore#12 referenced in function "public: class MsCertificate * __thiscall CertificateStore::findCertificate(struct _CERT_INFO *)" (?findCertificate#CertificateStore##QAEPAVMsCertificate##PAU_CERT_INFO###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2001: unresolved external symbol __imp__CertGetSubjectCertificateFromStore#12
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptMsgControl#16 referenced in function "private: static bool __cdecl _ckMsCrypto::msDecryptInnerAlt(class DataBuffer const &,class DataBuffer &,class Certificate * *,class LogBase &)" (?msDecryptInnerAlt#_ckMsCrypto##CA_NABVDataBuffer##AAV2#PAPAVCertificate##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptMsgGetParam#20 referenced in function "private: static bool __cdecl _ckMsCrypto::msDecryptInnerAlt(class DataBuffer const &,class DataBuffer &,class Certificate * *,class LogBase &)" (?msDecryptInnerAlt#_ckMsCrypto##CA_NABVDataBuffer##AAV2#PAPAVCertificate##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptMsgClose#4 referenced in function "private: static bool __cdecl _ckMsCrypto::msDecryptInnerAlt(class DataBuffer const &,class DataBuffer &,class Certificate * *,class LogBase &)" (?msDecryptInnerAlt#_ckMsCrypto##CA_NABVDataBuffer##AAV2#PAPAVCertificate##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptMsgUpdate#16 referenced in function "private: static bool __cdecl _ckMsCrypto::msDecryptInnerAlt(class DataBuffer const &,class DataBuffer &,class Certificate * *,class LogBase &)" (?msDecryptInnerAlt#_ckMsCrypto##CA_NABVDataBuffer##AAV2#PAPAVCertificate##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptMsgOpenToDecode#24 referenced in function "private: static bool __cdecl _ckMsCrypto::msDecryptInnerAlt(class DataBuffer const &,class DataBuffer &,class Certificate * *,class LogBase &)" (?msDecryptInnerAlt#_ckMsCrypto##CA_NABVDataBuffer##AAV2#PAPAVCertificate##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptDecryptMessage#24 referenced in function "private: static bool __cdecl _ckMsCrypto::msDecryptInner(class DataBuffer const &,class DataBuffer &,class Certificate * *,class LogBase &)" (?msDecryptInner#_ckMsCrypto##CA_NABVDataBuffer##AAV2#PAPAVCertificate##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptSignMessage#28 referenced in function "public: static bool __cdecl _ckMsCrypto::msCryptoSignature(class CryptoSettings2 &,class Certificate &,bool,class SystemCerts &,unsigned char const *,unsigned int,int,class DataBuffer &,class LogBase &)" (?msCryptoSignature#_ckMsCrypto##SA_NAAVCryptoSettings2##AAVCertificate##_NAAVSystemCerts##PBEIHAAVDataBuffer##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptEncodeObject#20 referenced in function "public: static bool __cdecl _ckMsCrypto::msCryptoSignature(class CryptoSettings2 &,class Certificate &,bool,class SystemCerts &,unsigned char const *,unsigned int,int,class DataBuffer &,class LogBase &)" (?msCryptoSignature#_ckMsCrypto##SA_NAAVCryptoSettings2##AAVCertificate##_NAAVSystemCerts##PBEIHAAVDataBuffer##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptVerifyMessageSignature#28 referenced in function "private: static bool __cdecl _ckMsCrypto::msVerifySignatureInner(class CryptoSettings2 &,class DataBuffer const &,class DataBuffer &,class ExtPtrArray &,class LogBase &)" (?msVerifySignatureInner#_ckMsCrypto##CA_NAAVCryptoSettings2##ABVDataBuffer##AAV3#AAVExtPtrArray##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptVerifyDetachedMessageSignature#32 referenced in function "private: static bool __cdecl _ckMsCrypto::msVerifyDetachedSignatureInner(class CryptoSettings2 &,class DataBuffer const &,unsigned char const *,unsigned long,class ExtPtrArray &,class LogBase &)" (?msVerifyDetachedSignatureInner#_ckMsCrypto##CA_NAAVCryptoSettings2##ABVDataBuffer##PBEKAAVExtPtrArray##AAVLogBase###Z)
1>ChilkatDbgDll.lib(_ckMsCrypto.obj) : error LNK2019: unresolved external symbol __imp__CryptEncryptMessage#28 referenced in function "private: static bool __cdecl _ckMsCrypto::msEncryptInner(class CryptoSettings2 &,unsigned char const *,unsigned long,class DataBuffer &,class ExtPtrArray &,class LogBase &)" (?msEncryptInner#_ckMsCrypto##CA_NAAVCryptoSettings2##PBEKAAVDataBuffer##AAVExtPtrArray##AAVLogBase###Z)
1>c:\users\simboyd\documents\visual studio 2010\Projects\botnet\Debug\botnet.exe : fatal error LNK1120: 54 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.33
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Any idea how to fix this? Thanks in advance.
If anybody is wondering how I fixed it: add Crypt32.lib and ws2_32.lib to additional dependencies (Linker > Input).
You're not linking the windows sockets import lib. Their library won't pull it in for you. It needs to be added to your linker-dependencies as well. It looks like their library is actually a static lib that expects your program to be linked as a MT DLL.
Add ws2_32.lib to your library list on your linker settings configuration (where you added your 3rd-party library).
It looks like you need to link to Ws2_32.lib which is the import library winsock.