После попытки выполнения в cmd и git - bash несколько раз. Я обнаружил, что это, вероятно, проблема стиля пути. Я попробовал 2 случая спецификации пути ниже:
Первый:
g++ -o hello -I/d/local/wxWidgets/lib/gcc810_x64_dll/mswu -I/d/local/wxWidgets/include -L/d/local/wxWidgets/lib/gcc810_x64_dll hello.cpp -lwxbase31u -lwxmsw31u_core
Второй:
g++ -o hello -ID:\local\wxWidgets\lib\gcc810_x64_dll\mswu -ID:\local\wxWidgets\include -LD:\local\wxWidgets\lib\gcc810_x64_dll hello.cpp -lwxbase31u -lwxmsw31u_core
Git - bash (выполнить в терминале напрямую) : только первый регистр успешно скомпилирован.
Git - bash (с использованием mingw32-make): только второй регистр успешно скомпилирован.
cmd (выполнить в терминале напрямую): только второй регистр успешно скомпилирован.
cmd (с использованием mingw32-make): только второй регистр успешно скомпилирован.
Вывод: я думаю, что mingw32-make использует «традиционный» стиль пути Windows (backsla sh), даже при git - bash.
Обновление :
Я обнаружил, что mingw32-make также поддерживает forword sla sh, поэтому я могу переписать его так:
g++ -o hello -ID:/local/wxWidgets/lib/gcc810_x64_dll/mswu ...
Так что я думаю, что лучше использовать относительный путь в make-файле, чтобы предотвратить это ( D: ) в пути, а также более переносимый (unix / linux также использует backsla sh).