Если вы еще этого не сделали, MSYS2 обычно предпочтительнее MSYS. Я собираюсь ответить на это, предполагая MSYS2. Я использую 64-битную версию, так что это то, что я покажу, но это должно быть достаточно просто изменить.
Я также предполагаю, что вы поместите каталог msys64
в базовый каталог, если не замените C:/msys64/
на C:/wherever/you/put/it/msys64/
.
При использовании оболочки msys /c/msys64/usr/
- это то же самое, что и C:/msys64/usr/
, что совпадает с /usr/
, поскольку оно пытается смешать файловую организацию Linux с окнами, и иногда это может быть немного неинтуитивно. При установке библиотек msys обычно включаемые файлы находятся в C:/msys64/usr/include/
, а библиотеки - в C:/msys64/usr/lib/
. Исключением является случай, когда у вас есть 64-битная версия и 32-битная версия программы, в этом случае заголовки находятся в C:/msys64/mingw64/include/
, а библиотеки в C:/msys64/mingw64/lib/
для 64-битных (mingw32
для 32 бит).
Чтобы построить их, вам нужно будет добавить соответствующие пути включения и пути к библиотекам. Таким образом, чтобы сделать все 64-битные программы доступными, вы должны добавить следующие флаги
-IC:/msys64/usr/include -IC:/msys64/mingw64/include -LC:/msys64/usr/lib -LC:/msys64/mingw64/lib
Когда вы компилируете свои собственные программы из исходного кода, вы помещаете их в любое место. Лучше не помещать их в тот же каталог, что и менеджер пакетов, чтобы избежать коллизий. Запуск make install
иногда не работает так же гладко на msys, как на linux. В этих случаях создание папки, такой как C:/msys64/custom/include/
, является более безопасной альтернативой. См. https://unix.stackexchange.com/questions/30/where-should-i-put-software-i-compile-myself, чтобы узнать больше об этом.