LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

1.который лежит в .lib (.o), .dll (.o). Например, функции либо классы математических операций и т.п.

Зависимости от внешних библиотек характеризуются тем, как эти внешние библиотеки собраны. Если они собраны в *.lib (в случае с MinGW *.a), то это статические библиотеки, которые вкомпиливаются внутрь твоего *.exe файла. Если в *.dll, то в динамические, которые будет требовать твой *.exe при запуске.

boost, wxWidgets и даже stl это нестандартные библиотеки Windows, а следовательно за их распространением должен следить лично ты. Либо вкомпиливать их статически в исполняемый файл, получая на выходе больших размеров *.exe, либо в папочке рядом с *.exe класть все необходимые *.dll. В случае с MinGW кроме boost'а и wxWidgets нужно будет положить libgcc_s_dw2-1, libstdc++-6 и если в приложении используются потоки, libwinthread. В случае с Visual Studio придётся поставлять библиотеки времени исполнения MS Visual C++ (msvcrtXXX.dll и другие).

2. классы либо функции самой целевой ОС.

Классы либо функции целевой ОС даёт тебе WinAPI и более высокоуровневые прослойки над ним.

3. Погуглил, эти dll нужны компилятору. От компилятора тоже какие-то зависимости могут быть? Он же в машинный код все транслирует, там уже ничего не остается.

Бред какой-то про машкод. Конечно, от неродного в MS Windows компилятора MinGW будут зависимости в виде той же libgcc_s_dw2-1 и собственно, stl — libstdc++-6. Если компилить MS Visual Studio, то тоже будут зависимости от постоянно обновляющихся Runtime-библиотек C и C++.

Настоятельно рекомендую разобраться с азами компиляции и мануалами к компиляторам. А уж потом писать приложение.

Исходная версия EXL, :

1.который лежит в .lib (.o), .dll (.o). Например, функции либо классы математических операций и т.п.

Зависимости от внешних библиотек характеризуются тем, как эти внешние библиотеки собраны. Если они собраны в *.lib (в случае с MinGW *.a), то это статические библиотеки, которые вкомпиливаются внутрь твоего *.exe файла. Если в *.dll, то в динамические, которые будет требовать твой *.exe при запуске.

boost, wxWidgets и даже stl это нестандартные библиотеки Windows, а следовательно за их распространением должен следить лично ты. Либо вкомпиливать их статически в исполняемый файл, получая на выходе больших размеров *.exe, либо в папочке рядом с *.exe класть все необходимые *.dll. В случае с MinGW кроме boost'а и wxWidgets нужно будет положить libgcc_s_dw2-1, libstdc++-6 и если в приложении используются потоки, libwinthread. В случае с Visual Studio придётся поставлять библиотеки времени исполнения MS Visual C++ (msvcrtXXX.dll и другие).

2. классы либо функции самой целевой ОС.

Классы либо функции целевой ОС даёт тебе WinAPI и более высокоуровневые прослойки над ним.

3. Погуглил, эти dll нужны компилятору. От компилятора тоже какие-то зависимости могут быть? Он же в машинный код все транслирует, там уже ничего не остается.

Бред какой-то про машкод. Конечно, от неродного в MS Windows компилятора MinGW будут зависимости в виде той же libgcc_s_dw2-1 и собственно, stl — libstdc++-6. Если компилить MS Visual Studio, то тоже будут зависимости от постоянно обновляющихся Runtime-библиотек C и C++.

Настоятельно рекомендую разобраться с азами компиляции и мануалами к компиляторами. А уж потом писать приложение.