我是C++的新手,现在我正在努力编译和链接。 最近我一直在使用cmake,并重新编译一个库(mlpack),使用Boost(Cmake does not find boost 1.51 (windows 8))。C++ windows二进制文件:与MinGW一起使用的条件
在第一次尝试中,我下载了Windows预编译的二进制文件。这没有奏效,我已经解释了我使用的二进制文件是MSVC,而不是MinGW,因此麻烦。事实上,在使用MinGW重新编译boost之后,事情就好了。
在这里,我只想得到一个直觉是什么将MSVC和MinGW的二进制文件之间的差异。我(天真?)认为二进制文件是特定于OS /处理器的。 MSVC的二进制文件包含什么使MinGW无法使用它们?
我仍然感到困惑。这是否意味着一旦你为你的系统进行了编译,你的库仍然不能被系统中的所有程序使用?这是否意味着您需要编译每个现有的编译器?除了为特定编译器编译的二进制文件之外,你永远不能下载任何二进制文件?对于语言的比喻,MSVC的图书馆是法语的,MinGW也讲法语,窗口讲法语,不是? – Vince
@Vince我试图多解释一下。不过,我认为Haroogan为解决问题的原因提供了一些很好的链接。你应该检查出来。 – stardust
谢谢!只是为了澄清:现在我下载了iconv二进制文件,并且我有一个包含iconv.lib的文件夹库......当使用mingw编译其他库时,假设链接到这个库是不合理的?如何知道这些库是否正常? – Vince