Я новичок в C++, и теперь я борюсь с компиляцией и связыванием. Недавно я использовал cmake и переделал библиотеку (mlpack), которая использует использование Boost (Cmake does not find boost 1.51 (windows 8)).C++ windows двоичные файлы: условия, которые будут использоваться с MinGW
С первой попытки я загрузил предварительно скомпилированные двоичные файлы для окон. Это не сработало, и мне объяснили, что двоичные файлы, которые я использовал, были для MSVC, а не MinGW, поэтому проблемы. И действительно, после перекомпиляции с использованием MinGW все прошло хорошо.
Здесь я хотел бы получить интуицию, каковы будут различия между двоичными файлами для MSVC и MinGW. Я (наивно?) Думал, что двоичные файлы были специфичны для ОС/процессора. Что представляют собой двоичные файлы для MSVC, которые делают их непригодными для использования MinGW?
Я до сих пор путают. Означает ли это, что после компиляции для вашей системы ваши библиотеки все равно не будут использоваться всеми программами в вашей системе? Означает ли это, что вам нужно скомпилировать для каждого существующего компилятора?И вы никогда не можете загружать никакие двоичные файлы, кроме тех, которые были скомпилированы для вашего конкретного компилятора? Для языковой аналогии библиотеки для MSVC находятся на французском языке, MinGW говорит также по-французски, а окна говорят по-французски, нет? – Vince
@Vince Я попытался объяснить это немного больше. Однако я думаю, что Haroogan предоставил хорошие ссылки на то, почему возникают проблемы. Вы должны проверить их. – stardust
Спасибо! Просто уточнить: теперь я загрузил бинарные файлы iconv, и у меня есть папка lib, которая содержит iconv.lib ... Неразумно предположить, что привязка к этой библиотеке будет работать при компиляции других библиотек с использованием mingw? как узнать, хорошо ли эти библиотеки или нет? – Vince