UPDATE: Es wurde eine Möglichkeit gefunden, die Kompilierung durchzuführen, siehe unten.Probleme beim Kompilieren von Boost-Programmen mit Cygwin
Hallo, ich habe Probleme beim Kompilieren von Programmen unter cygwin. Ich habe die Standard-Boost und G ++ - Pakete von der Setup.exe des Cygwin-Projekts installiert.
Auf meinen Linux-Systemen kann ich ein Programm reg.cpp mit dem kompilieren folgenden:
g++ -I/usr/include/boost -lboost_regex -o reg reg.cpp
auf Cygwin mich dies nur ein bisschen bearbeiten müssen:
g++ -I/usr/include/boost-1_33_1 -lboost_regex-gcc-mt -o reg reg.cpp
Das Problem ist, dass Die Cygwin-Version bewirkt, dass der Linker eine Million nicht definierter Referenzfehler aufruft. Dasselbe passiert beim Versuch, die Boost-Test-Framework-Bibliotheken zu verwenden.
Der Linker findet boost_regex-gcc-mt, aber es scheint nicht mit der Include-Datei übereinzustimmen. Hier ist der erste Linker-Fehler:
undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
So übersetzen
ich eine Lösung gefunden here zu kompilieren, habe ich folgendes:
g++ -I/usr/include/boost-1_33_1 reg.cpp -o reg -lboost_regex-gcc-mt
Nach Angaben der Post, hat es etwas mit der Linker-Reihenfolge zu tun. Jeder hat eine Ahnung, warum das bei Cygwin so ist, aber nicht bei modernem Linux?