ld.exe не может найти не может найти -lboost_system или -lboost_filesystem - PullRequest
0 голосов
/ 15 апреля 2020

Делая это на Windows, используя компилятор mingw g ++ версии 8.1.0

Я пытаюсь написать простой тестер, использующий boost / filesystem.hpp. Я считаю, что это требует от меня статической ссылки libboost_filesystem.lib и libboost_system.lib , поскольку в документации указано, что заголовочные файлы для них также полагаются на свои отдельно скомпилированные двоичные файлы. Чтобы создать эти двоичные файлы, я пошел по этой ссылке из документации по бусту: раздел 5.1 Упрощенная сборка из исходного кода

После завершения этого процесса я знаю, что в C: \ boost_1_72_0 \ stage \ lib содержит следующие файлы .lib:

libboost_filesystem-vc142-mt-gd-x32-1_72.lib

libboost_filesystem-vc142-mt-gd-x64-1_72.lib

libboost_filesystem-vc142-mt-x32-1_72.lib

libboost_filesystem-vc142-mt-x64-1_72.lib

Теперь для попытки сборки. Я работаю в Visual Studio Code , который не должен иметь значения, так как я встроил его в систему, используя g ++ и другие библиотеки только для заголовков boost. Вот команда + выход

Выход (команда первая): C:\mingw-w64\mingw32\bin\g++.exe -g C:\Users\pawlos.campbell\source\codepractice/c++/main.cpp -o C:\Users\pawlos.campbell\source\codepractice/c++/main.exe -Lc:/boost_1_72_0/stage/lib/ -lboost_filesystem-vc142-mt-x64-1_72 -lboost_system-vc142-mt-x64-1_72 -Ic:/boost_1_72_0/

C:/mingw-w64/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lboost_filesystem-vc142-mt-x64-1_72

C:/mingw-w64/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.1.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lboost_system-vc142-mt-x64-1_72

Это говорит мне ld. exe не может видеть библиотеки. Я попытался сократить до -lboost_filesystem , без кубиков.

Я что-то упускаю из виду? Любые предложения приветствуются ...

...