是否可以在cygwin gcc build中使用VC ++下的库构建?

时间:2010-07-29 17:52:51

标签: c++ c visual-studio visual-c++

我有使用VC ++构建的库。我想在程序中使用相同的库并在cygwin gcc编译器中构建。这种情况会起作用吗?

2 个答案:

答案 0 :(得分:1)

由于C ++没有标准化的ABI,并且因为Visual C ++和g ++几乎肯定会有不同的ABI,所以我认为你不能这样做。你唯一真正的选择是将自己限制在C而不是C ++。

编辑:如果您使用的所有库都是直接C(extern "C",用C ++术语),那么您应该能够在编译器之间共享库。 (否则,您的Cygwin和MinGW应用程序无法调用Windows API。)您需要小心匹配调用约定。例如,Windows API使用__stdcall而不是标准C调用约定。您可以告诉GCC哪个调用约定与function attributes一起使用。 Google和您图书馆的头文件应该有更多关于调用约定的信息。

答案 1 :(得分:0)

可能不是

mingw个GCC的端口(以及许多gnu工具)到windows,它使用标准的windows库 - 它几乎可以替代cygwin,并且应该更容易链接到gcc。