Fehler LNK2019: nicht aufgelöstes externes symbol "class boost::system::error_category
Bin ich auf Visual Studio 2013, heruntergeladen werden die regelmäßigen boost-Bibliotheken (version 1.55) und installiert Sie C:/Program Files/Boost/
Dann habe ich ein neues leeres C++ - Projekt und fügte hinzu, die folgenden auf meine "Include-Verzeichnisse":
C:\Program Files\Boost\boost_1_55_0;
Dies ist mein code:
#include <boost/asio.hpp>
#include <iostream>
int main(int argc, char * argv[])
{
boost::asio::io_service io_service;
for (int x = 0; x < 42; ++x)
{
io_service.poll();
std::cout << "Counter: " << x << std::endl;
}
return 0;
}
Einmal bootstrap
und ./b2
hatte, beendet ich habe dann Hinzugefügt, den folgenden Pfad, um "Zusätzliche Bibliothek-Abhängigkeiten":
C:\Program Files\Boost\boost_1_55_0\stage\lib
aber ich bekomme die folgenden Fehlermeldungen:
Main.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "public: __cdecl boost::system::error_code::error_code(void)" (??0error_code@system@boost@@QEAA@XZ)
Main.obj : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'errno_ecat''(void)" (??__Eerrno_ecat@system@boost@@YAXXZ)
Wenn ich mich C:\Program Files\Boost\boost_1_55_0\stage\lib
es enthält:
- libboost_system-vc120-mt-1_55
- libboost_system-vc120-mt-gd-1_55
UPDATE: Es scheint, dass mein Header nicht bekommen, korrekt gebaut, oder einige, wo fehlt. Ich heruntergeladen und lief der installer von hier:
http://sourceforge.net/projects/boost/files/boost-binaries/1.55.0/
VS 2013 sind msvc12
Dann richte ich meine zusätzliche Bibliothek-Abhängigkeiten als normal.
- Ich traf dieses Problem während der Verwendung der boost-automatische Verknüpfung, und fixiert es durch das hinzufügen von #include <../boost_libs.h>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese zwei definiert, die unten waren, vermasselt mit meinem linker, wirft ein schönes "LNK2001: nicht aufgelöstes externes symbol". Haben Sie dann irgendwo in deinem code?
Versuchen
/Gd
zu/Gr
in den Einstellungen Ihres Projektes. Es kann sein, aufgrund der Differenz in Aufrufkonvention.