мой компилятор mingw: http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7.2/32-bit/threads-posix/sjlj/x32-4.7.2-release-posix-sjlj-rev6.7z
(оба на диске D:)
код:
#include <boost\regex.hpp>
int main() {
boost::regex reg("[a-z]+");
}
командная строка:
SET PATH=%PATH%;D:\mingw\bin;D:\mingw\include
g++ -I "d:\mingw\include" -I "d:\boost" -Os -s -o test.exe test.cpp -std=c++11 -static -L "D:\boost\stage\lib" -lboost_regex
В каталоге d:\boost\stage\lib
находится libboost_regex-mgw47-mt-1_52.a
.
И процесс возвращает:
d:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lboost_regex
collect2.exe: error: ld returned 1 exit status
Если я укажу точное имя файла *.a, результат будет cannot find -llibboost_regex-mgw47-mt-1_52.a
даже весь путь -ld:\boost\stage\lib\libboost_regex-mgw47-mt-1_52.a
не работает. Все, что я ставлю после -l
, имеет тот же эффект.